ako zapisat?

5 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Ludia, potrebujem help s tymto: mam tabulku s nazvom TAB1, v nej dva stlpce s nazvami ID a TEXT. ak zapisem: select * from TAB1 where ID like '%hladane_ID%', pricom $hladane_ID ma len jednu hodnotu, napr 1 mi vypise text s ID 1. Problem nastane, ak chcem vypisat naraz viac riadkov s roznymi ID, vzdy mi vrati prazdne riadky a neviem preco. :-/
  2. To je jasne. LIKE funguje trochu jinak. Nevypise ti to vsecky sloupce, kterych ID se vyskytuje v tom retezci. Nevim, jak do promenne $hledane_ID zadavas tech vic ruznych ID, ale kdyz treba napises ...ID LIKE '%1,3,5%'; tak ti to nenajde vsechny radky s ID=1, ID=3 a ID=5. Najde ti to radky, kterych ID obsahuje retezec '1,3,5', vcetne tech carek a buhvi ceho jeste, takze to ve vetsine pripadu nenajde nic, protoze ID se v tomto tvaru vetsinou nepouziva. Pouzivat na vyber podle ID strukturu s LIKE je prinejmensim nestastne. Uz jenom proto, ze kdyz tam budes mit vic zaznamu s ruznymi ID, tak struktura "... ID LIKE '%1%';", ti najde vsechny radky, kterych ID obsahuje jednicku, tudiz nejen 1, ale i napriklad 10, 11, 15, 101, 2314, atd.... coz urcite nechces. Takze jeden z napadu by byl treba: Pokud mas ty ID, ktere chces vybrat, treba v poli (pokud ne, tak je tam urcite muzes nejak dostat), tak muzes nejdriv ten dotaz "poskladat". Tzn.: $dotaz = "SELECT * FROM TAB1 WHERE 1 "; foreach($pole AS $hodnota_id) { $dotaz .= " AND ID=$hodnota_id"; } $dotaz .= ";"; a pak jenom zavolas MySQL_Query($dotaz); a melo by ti to vyhodit to, co chces.
  3. no stačí in(hodn1,hodn2,...)
  4. Jasne, taky to jde, tech moznosti je spousta....
  5. to Tomas Hajdin:som v tomto zaciatocnik, dik za radu vyskusam to. inak tie data ID taham z inej tabulky a su v tvare napr. 1.02 1.03 1.04 atd...

← Zpět na všechna témata