Autor Zpráva
Celebi
Profil
Mám několik dotazů ohledně příkazu SET:
`radek` set('1','2','3','4','5','6') default NULL,
1) Jak zaškrtnout a odškrtnout například 2.
2) Jak udělat v php podmínky if (2==zaškrtnuto):...
Předem děkuji.
Hugo
Profil
Z db dostaneš ty data ve formě např. 1,3,5. Pak už si je nějak musíš zpracovat, např. pomocí explode() načíst do pole.
Kajman_
Profil *
http://dev.mysql.com/doc/refman/4.1/en/set.html
Celebi
Profil
Kajman_: Z toho odkazu jsem to nějak nepochopil.
Hugo: Nemohl by jsi napsat fungující příklad?
Hugo
Profil
Celebi

V principu mohl, ale radši se nauč číst manuál. Bude se ti to hodit v budoucnu.
Kajman_
Profil *
1) a) UPDATE tabulka SET radek=concat(radek, ',2') WHERE 'podminka'='podminka';
1) b) UPDATE tabulka SET radek=radek & ~2 WHERE 'podminka'='podminka';
2) SELECT * FROM tabulka WHERE FIND_IN_SET('2',radek)>0

Jen pozor, že v 1) b) neznamená ta dvojka dvojku z množiny, ale je to 2 na 1, kde 1 je výsledkem pořadí '2' v množině mínus jedna.
Hugo
Profil
Kajman_

Ad 2)

Podle dotazu bude spíš potřebovat vytáhnout všechny hodnoty z té množiny. Takže je imho jednodušší vzít obsah celé buňky a pak to zpracovat v php.
Kajman_
Profil *
No, imho je nejjednodušší množiny nepoužívat ;-) Ale, když jsi popsal php řešení, tak jsem připojil dotazové řešení.
Kaifman
Profil
jj bitova maska je lepcejsi
Toto téma je uzamčeno. Odpověď nelze zaslat.

0