vyhladavanie v DB vo vsetkych tabulkach
vyhladavanie v DB vo vsetkych tabulkach
cawte...vie mi niekto pomoct s vyhladavanim v celej db....nasiel som hladanie v tabulke a bolo tu pisane ze v celej db sa to hladat neda pretoze kazda tabulka je ina...ale ja mam vsetky tabulky rovnake...robim stranku na pocuvanie a stahovanie mp3 s inych serverov a mam tabulky napr dance, pop, hip-hop, a v kazdej dve polia meno a link (zatial) a potrebujem aby ked zadam do search baru aby mi to vypisalo vysledky z celej db...hladal som na fore no nenasiel som...ak som nieco prehliadol prosim hodte tu link na dany problem a ja si to pozriem...diks
Re: vyhladavanie v DB vo vsetkych tabulkach
len rada, nie riesenie tvojho problemu:
nabuduce ked budes navrhovat databazu, sprav si 1 tabulku na styly so stlpcami napr "id" a "nazov" a 2. tabulku obsahujucu VSETKY pesnicky, pricom bude mat stlpce "id", "nazov", "url" a "styl_id"...tymto vyriesis prehladavanie vsetkych mp3...ak budes chciet hladat len z konkreneho stylu, len dopises do query podmienku konkretne napr "WHERE styl_id='3' "
nabuduce ked budes navrhovat databazu, sprav si 1 tabulku na styly so stlpcami napr "id" a "nazov" a 2. tabulku obsahujucu VSETKY pesnicky, pricom bude mat stlpce "id", "nazov", "url" a "styl_id"...tymto vyriesis prehladavanie vsetkych mp3...ak budes chciet hladat len z konkreneho stylu, len dopises do query podmienku konkretne napr "WHERE styl_id='3' "
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
ako bolo písané,tvoj návrh je veľmi zlý. Toto je daň za zbrklosť návrhu a nedostatočné znalosti z návrhu dbs. Nabudúce budeš vedieť, ale teraz to hľadanie nespravíš (pokiaľ nechceš použiť veľa vyhladávaní (každé na jednú tabuľku) a výsledky spojiť aby si užívateľ myslel že tvoj web funguje tak ako má)
Re: vyhladavanie v DB vo vsetkych tabulkach
pat137 napísal:len rada, nie riesenie tvojho problemu:
nabuduce ked budes navrhovat databazu, sprav si 1 tabulku na styly so stlpcami napr "id" a "nazov" a 2. tabulku obsahujucu VSETKY pesnicky, pricom bude mat stlpce "id", "nazov", "url" a "styl_id"...tymto vyriesis prehladavanie vsetkych mp3...ak budes chciet hladat len z konkreneho stylu, len dopises do query podmienku konkretne napr "WHERE styl_id='3' "
so strankou zacinam takze zmenit tabulky neni problem...to riesenie je super...len nechapem naco mi bude ta prva tabulka potom?...potom staci davat aj ked cem vypisat iba data z niektoreho stylu v sekcii tak select....where styl_id="3" a tu prvu nepotrebujem nie?
//autoeditácia príspevku (23 Jan 2010, 15:29)
ja viem...ucim sa...kazda rada je super rada a velmi pomoze do buducnaaudiotrack napísal:ako bolo písané,tvoj návrh je veľmi zlý. Toto je daň za zbrklosť návrhu a nedostatočné znalosti z návrhu dbs. Nabudúce budeš vedieť, ale teraz to hľadanie nespravíš (pokiaľ nechceš použiť veľa vyhladávaní (každé na jednú tabuľku) a výsledky spojiť aby si užívateľ myslel že tvoj web funguje tak ako má)
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
v tej druhej máš priradené k id kategorie jej názov. Kategorie priraďuješ k pesničkám cez id. Ak to takto nespravíš, neskôr zase narazíš na problém (napríklad premenovanie kategorie..)
Re: vyhladavanie v DB vo vsetkych tabulkach
aha oki..diik....us vem ako to spravit a neviete mi este poradit ako spravit oznacovanie nefunkcnych mp3?...cel som to spravit tak ze pri kazdej mp3 bude este pole funkcnost a jeho hodnota mose byt 0=nefunckna alebo 1=funkcna...a ako spravit odkaz ktory zapise k danej mp3 ktora bude vo vypise do tohto pola hodnotu 0?....a v administracnej stranke aby som ja mohol zapisat hodnotu 1 do tohto pola???
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
tak isto ako všetky iné zápisy do db. Ak to nevieš, tak si najprv pozri nejaké tutorialy a naštuduj php a mysql, lebo my ti to nemáme ako ukázať bez toho aby sme ti to celé spravili
Re: vyhladavanie v DB vo vsetkych tabulkach
nie nie je viem ako zapisovat ale ako to zapisat ces odkaz a nie ces button??audiotrack napísal:tak isto ako všetky iné zápisy do db. Ak to nevieš, tak si najprv pozri nejaké tutorialy a naštuduj php a mysql, lebo my ti to nemáme ako ukázať bez toho aby sme ti to celé spravili
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
ti vravím že tak isto. Ty to nezapisuješ cez odkaz alebo button, ty to zapisuješ z nejakého php súboru. A ako si do neho pošleš tú premennú je už tvoja vec. Ak to chceš cez odkaz, tak zrejme cez GET
Re: vyhladavanie v DB vo vsetkych tabulkach
urobis si skript a budes ho volat pomocou odkazu, napr http://www.tvoja-stranka.sk/nefunkcne.php?id=137
a nefunkcne.php bude podla $_GET["id"] oznacovat v databaze mp3 s id=137 ako nefunkcne, cize mu updatne konkretnu bunku
a nefunkcne.php bude podla $_GET["id"] oznacovat v databaze mp3 s id=137 ako nefunkcne, cize mu updatne konkretnu bunku
Re: vyhladavanie v DB vo vsetkych tabulkach
okis a aky typ mam dat pre pole id ??..a aby sa pri kazdej dalsej pesnicke zvecsovalo o jedno sa ta zadat v databaze alebo to musim pri posielani?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
dá sa to v db zadať, volá sa to auto increment. Platí ale iba na ordinálne typy. ID v db nastav ako int
Re: vyhladavanie v DB vo vsetkych tabulkach
to som nasiel
len neviem na aku hodnotu mam nastavit Predvolene to je asi ta chyba pre default
len neviem na aku hodnotu mam nastavit Predvolene to je asi ta chyba pre default
Kód: Vybrať všetko
ALTER TABLE `songs` CHANGE `ID` `ID` INT DEFAULT '1' NOT NULL AUTO_INCREMENT
MySQL hlási:
#1067 - Invalid default value for 'ID'Re: vyhladavanie v DB vo vsetkych tabulkach
Skús zrušiť, že to nemôže byť prázdne (a teda tam potom nedaj ani default), prípadne daj default 0.
Re: vyhladavanie v DB vo vsetkych tabulkach
nemozes mat zadane default, kedze defaultne to robi auto increment...cize ty pri vkladani noveho riadku(mp3) do databazy id nevyplnas, vyplni sa "defaultom"
Re: vyhladavanie v DB vo vsetkych tabulkach
skusam ale nejde nijako...co kde vyplnit este a ako?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
zmaž to "default '0'"
Re: vyhladavanie v DB vo vsetkych tabulkach
hm, a nechceš tie pesničky dať do jednej tabuľky ako radil pat137? Pretože ak máš všetky tabuľky rovnaké je možné ich zoskupiť a nemusíš zasielať zbytočne toľko dopytov.
Ak chceš, tu je návod:
1.) Do každej tabuľky pridaj nový stĺpec (napr. styl), ktorý bude obsahovať názov štýlu (je na tebe či to budeš riešiť vytvorením ďalšej tabuľky štýlov a tento stĺpec bude typu INT, alebo či bude typu VARCHAR a rovno bude obsahovať text (názov štýlu). Pre zjednodušenie (tohoto návodu) sa prikláňam k typu VARCHAR obsahujúci názov štýlu) HIP-HOP/DANCE/POP/...
Čiže každý riadok v tabuľke DANCE bude v stĺpci obsahovať hodnotu dance, stĺpec v tabuľke POP bude obsahovať text pop, ...
2.) Ak majú predošlé tabuľky definovanú auto inkrementáciu pre určenie poradia (id) pesničky tak ju odstráň:
ALTER TABLE dance DROP id;
3.) Vytvor si novú tabuľku s takou štruktúrou akú majú predošlé tabuľky (napr. dance)
CREATE TABLE tab_vsetky_pesnicky LIKE dance;
4.) Prekopíruj dáta z ostatných tabuliek (štýlov) do novovytvorenej tabuľky:
INSERT INTO tab_vsetky_pesnicky SELECT * FROM dance (hiphop, pop, ...)
5.) Pridaj stĺpec id určujúci poradie pesničy (ak sťahuješ podľa idčka)
!!!Pozor, ak sa rozhodneš pre túto možnosť, zálohuj si dáta. Neviem aké máš vedomosti z mySQL, ale doporučil by som to vyskúšať na testovacej tabuľke nech nejdeš naslepo.
Ak chceš, tu je návod:
1.) Do každej tabuľky pridaj nový stĺpec (napr. styl), ktorý bude obsahovať názov štýlu (je na tebe či to budeš riešiť vytvorením ďalšej tabuľky štýlov a tento stĺpec bude typu INT, alebo či bude typu VARCHAR a rovno bude obsahovať text (názov štýlu). Pre zjednodušenie (tohoto návodu) sa prikláňam k typu VARCHAR obsahujúci názov štýlu) HIP-HOP/DANCE/POP/...
Čiže každý riadok v tabuľke DANCE bude v stĺpci obsahovať hodnotu dance, stĺpec v tabuľke POP bude obsahovať text pop, ...
2.) Ak majú predošlé tabuľky definovanú auto inkrementáciu pre určenie poradia (id) pesničky tak ju odstráň:
ALTER TABLE dance DROP id;
3.) Vytvor si novú tabuľku s takou štruktúrou akú majú predošlé tabuľky (napr. dance)
CREATE TABLE tab_vsetky_pesnicky LIKE dance;
4.) Prekopíruj dáta z ostatných tabuliek (štýlov) do novovytvorenej tabuľky:
INSERT INTO tab_vsetky_pesnicky SELECT * FROM dance (hiphop, pop, ...)
5.) Pridaj stĺpec id určujúci poradie pesničy (ak sťahuješ podľa idčka)
!!!Pozor, ak sa rozhodneš pre túto možnosť, zálohuj si dáta. Neviem aké máš vedomosti z mySQL, ale doporučil by som to vyskúšať na testovacej tabuľke nech nejdeš naslepo.
Re: vyhladavanie v DB vo vsetkych tabulkach
bart11: vsetko som us dal do jednej tabulky id potrebujem aby som neskor mohol podla toho zadavat do daneho riadku jednu premennu ktoru neskor budem potrebovat ....vsetko co si povedal us mam...nic v nich este nemam udaje budem zadavat pred dokoncenim stranky
potrebujem iba aby som nastavil to id aby sa zvysovalo ale nechapem tomu co napisat audiotrack zmaz to "default'0'" ako?...kde to zadat?
potrebujem iba aby som nastavil to id aby sa zvysovalo ale nechapem tomu co napisat audiotrack zmaz to "default'0'" ako?...kde to zadat?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: vyhladavanie v DB vo vsetkych tabulkach
z toho query ktoré tam spúšťaš a nastav ho ako primary key