Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 22. 7. 2012, 12:31:28
Zdravim
ked mam taketo dotazy $sql = mysql_query('SELECT id_basket FROM '.$_POST['sluzba'].' WHERE id_'.$_POST['sluzba'].'u IN ('.implode(',', $_POST['polozka']).')'); $row = mysql_fetch_array($sql,MYSQL_ASSOC); $id_basket= $row['id_basket']; ako ulozim do tej premennej id basket vsetky najdene kluce napr. 5,3,8,6 ... Skusal som to cez foreach ze som tam vlozil $row['id_basket'] ale hlasi to chybu. Asi neako cez array ale neviem ako. Potrebujem to vlozit do dalsieho DELETE takto. $data = mysql_query('DELETE FROM data WHERE id_data='.$id_basket.''); vdaka M. |
||
Alphard Profil |
#2 · Zasláno: 22. 7. 2012, 13:07:14
Projít cyklem je správné řešení, jen tady bude vhodnější while. Stejně jako když data vypisujete, jen je přidávat do pole.
Tady by ale rychlejší řešení bylo použít poddotaz, jestli ta id k ničemu jinému nepotřebujete. |
||
Monkeys Profil * |
#3 · Zasláno: 22. 7. 2012, 13:10:38
Alphard:
„Tady by ale rychlejší řešení bylo použít poddotaz, jestli ta id k ničemu jinému nepotřebujete.“ Ak sa este mozem opytat ako by mal taky poddotaz vyzerat ? Vdaka M. |
||
Monkeys Profil * |
#4 · Zasláno: 22. 7. 2012, 21:29:42
tak som to vymyslel nakoniec takto myslite ze by sa to dalo zjednodusit ?
$pole = array(); while($row=mysql_fetch_array($sql,MYSQL_ASSOC)){ $pole[]=$row['id_basket']; } $dotaz = 'DELETE FROM data WHERE id_data IN('; foreach($pole as $hodnota) { $dotaz .= $hodnota.","; } $dotaz = substr($dotaz,0,-1).')'; $vymaz_data = mysql_query($dotaz); |
||
Alphard Profil |
#5 · Zasláno: 22. 7. 2012, 21:39:14
V poddotazu může být přímo select
delete from tabulka where sloupec in (select sloupec2 from tabulka2 where sloupec3 = 78) |
||
Časová prodleva: 13 let
|
0