Autor Zpráva
Monkeys
Profil *
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
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 *
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 *
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
V poddotazu může být přímo select

delete from tabulka where sloupec in (select sloupec2 from tabulka2 where sloupec3 = 78)

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