Autor | Zpráva | ||
---|---|---|---|
DB_syn Profil * |
#1 · Zasláno: 18. 2. 2012, 15:08:09
Ahoj, chtěl bych se zeptat. Vytvářím si GAME stránku a mám tam v databázi uloženou hodnotu např. Counter Strike - zacatecnik, pak Counter Strike - pokrocily.
Chtěl bych vypsat hodnotu z tabulky tak, abych mohl zakázat výpis Counter Stríke - zacatecnik. Hodnota Counter Strike - zacatecnik je uložena v poli bez_diakritiky. Nejde to podčíslovat. Tyhle názvy si uživatelé zakládají sami. $sql = mysqli_query($spojeni, "SELECT distinct organizace, bez_diakritiky FROM cs WHERE (organizace != '' AND organizace != '1') AND bez_diakritiky != 'zacatecnik' GROUP BY organizace ASC"); Nevím jak se napojit na slova: zacatecnik, pokrocily a vynutit zákazu řádku. Moc díky. |
||
Keeehi Profil |
#2 · Zasláno: 18. 2. 2012, 15:17:58
DB_syn:
To vypadá na špatný návrh databáze. Counter Strike má být v jednom sloupci, začátečník v druhém. |
||
DB_syn Profil * |
#3 · Zasláno: 18. 2. 2012, 15:22:41 · Upravil/a: DB_syn
Keeehi, moc děkuji.
Ale funguje to tak, že vstoupís a založíš skupinu. Třeba Half Life - nový díl, nebo Counter Strike blue. Jen bych potřeboval vědět, jak se dostat k řádku když budu znát jen jedno slovo. Vím, že u LIKE se používá znak procenta... |
||
Keeehi Profil |
#4 · Zasláno: 18. 2. 2012, 15:42:12
DB_syn:
Pořád nechápu, proč to nemůže být v sloupcích. Pokud by jsi to měl ve dvou sloupcích, pak by ti ten dotaz fungoval. Pokud však trváš na jednom sloupci tak kromě LIKE existuje taky NOT LIKE. |
||
DB_syn Profil * |
#5 · Zasláno: 18. 2. 2012, 15:49:35
Keeehi, mám to takto
$sql = mysqli_query($spojeni, "SELECT distinct organizace, bez_diakritiky FROM cs WHERE bez_diakritiky NOT LIKE '%".$zze."%' AND (organizace != '' AND organizace != '1') GROUP BY organizace ASC"); a funguje :-). Moc dík Tohle bude užitečné vlákno... |
||
Keeehi Profil |
#6 · Zasláno: 18. 2. 2012, 16:03:16
DB_syn:
Já vím, že to funguje, to však nemění nic na nesprávnosti návrhu. Můžeš uvést jeden rozumný důvod, proč to nemůže být ve 2 sloupcích? |
||
DB_syn Profil * |
#7 · Zasláno: 18. 2. 2012, 16:13:01
Představ si, že uživatelé zakládají názvy profilů a ty budeš chtít zakázat všechny profily, které budou mít slovo, které se nesmí v sekci vyskytovat už podle jména profilu.
|
||
Keeehi Profil |
#8 · Zasláno: 18. 2. 2012, 16:52:16
DB_syn:
Moc tomu nerozumím, ale to mi u ani nevadí. Pokud se jedná o více informací v jedné buňce, tak je to špatně "Counter Strike" je jedna informace, "pokročilý" je informace druhá. Počet informací = počet sloupečků. Pokud v tom sloupci je ale jen jedna informace "Supr mega hustá gruppppppa" a ty nechceš, aby se ve jménech skupin vyskytovalo slovo "mega", tak je to správně. Nebylo by ale lepší to kontrolovat už při zakládání v PHP a v případě výskytu zakázaných slov, v databázi vůbec nevytvářet novou položku? |
||
DB_syn Profil * |
#9 · Zasláno: 18. 2. 2012, 16:58:44
Tak ještě:
Uživatelé si založí login: 1. Counter Killer 2. Call of Duter 3. Counter strike mamlas 4. Kill_Counter 5. Half kids A já budu chtít, aby se každému ukazovalo něco jiného. Tzn. Je potřeba, aby mi už profil pomohl najít ty správné uživatele (pokud bude moct profil pomoct). |
||
Keeehi Profil |
#10 · Zasláno: 18. 2. 2012, 17:06:30
DB_syn:
Jako že když se jmenuje Call of Duter tak se mu mají zobrazit články (asi?) o Call od Duty a ne o Counter Striku? |
||
DB_syn Profil * |
#11 · Zasláno: 18. 2. 2012, 17:29:13 · Upravil/a: DB_syn
Ano :-)
Něco jako umělá inteligence... |
||
Časová prodleva: 12 let
|
0