Autor Zpráva
Carlos
Profil *
Dobré sváteční ránko,
potřeboval bych poradit, jak efektivně poskládat dotaz do databáze, konkrétně UPDATE více sloupců naráz.
O co jde. Mám tabulku "veci", v ní 3 sloupce, "id" (auto inc.) ,"vec" a "pouzit". Uživatel si do tabulky může přidávat a odebírat co ho napadne.
Tak a mě jde o to, že si nechám obsah tabulky vypsat do formuláře, za každý vstup přidám checkbox a nyní je na uživateli, aby si zaškrtnutím vybral, co chce použít a pak se výsledek zapsal do databáze.
Takže např. v tabulce mám 4 věci:
boty (id 1)
svetr (id 2)
klobouk (id 3)
kufr (id 4)
Uživatel si zaškrtne např. boty, svetr a kufr a já potřebuji nějak efektivně sestavit dotaz do databáze tak, aby se sloupec "pouzit" u vybraných věcí změnil z hodnoty 0 na 1
čili tak nějak:
mysql_query("UPDATE veci SET pouzit='1' WHERE id=1 and id=2 and id=4");
a mě jde tedy o to, jak efektivně sestavit ten dotaz za WHERE. Samozřejmě umím vytáhnout, co je zaškrtnuté chceckboxem, problém ale mám s tím setsavením dotazu, zejména přídání AND do něj. Jak to vyřešit? Doufám, že jsem to nepopsal jako máčo :-)
tiso
Profil
Carlos a si si istý že tie záznamy vôbec existujú? To keď pridáš ďalší predmet tak všetkým userom pridávaš riadky s ďalšou vecou nastavené na 0 do tej tabuľky? Tak sa to nerobí!
Carlos
Profil *
pomiň tedy to, že se dají aktualizovat. Ja sestavit dotaz?
Mastodont
Profil
jak efektivně sestavit ten dotaz za WHERE
No nejdřív vytvořit pole s prvky "id=něco" a to pak změnit na jediný string pomocí implode(), kde jako spojovací element zadáš " OR ".

(upraveno)
tiso
Profil
Mastodont ???
Carlos miesto AND použi OR, alebo WHERE id in(1,2,4)
Mastodont
Profil
Jasně že tam má být OR, jinak je postup stejný.
Carlos
Profil *
děkuji vám za rady.

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:

0