Autor Zpráva
DB_syn
Profil *
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
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 *
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
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 *
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
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 *
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
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 *
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
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 *
Ano :-)


Něco jako umělá inteligence...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: