Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pętla w funkcji
Forum PHP.pl > Forum > Przedszkole
jarek0203
Witam. Mam tabele produkty i zamowienie oraz funkcje która usuwa produkty z zamowienia.Gdy funkcja się wykona usunie się ostatni rekord.

  1. function usun($id_z){
  2.  
  3. $zawartosc=array();
  4. $dane= mysql_query('SELECT * FROM produkty join zamowienie ON nr_p=nr_z WHERE id_z="'.$id_z.'"');
  5. while ($txt = mysql_fetch_assoc($danel)){
  6. $zawartosc[]=$txt; }
  7. foreach($zawartosc as $element) {
  8. $id=$element['id'];}
  9.  
  10. mysql_query('delete from produkty where id='.$id.' limit 1');


Pytanie: Jak zapętlić ciało funkcji żeby usunąć wszystkie produkty z zamówienia za jednym razem.
Próbowałem while(!isset($id) - wykonuje się tylko raz
while(isset($id) -zapętla się
phpion
Jeśli ustawiłbyś klucze obce z ON DELETE CASCADE to rekordy powiązane usuną Ci się automatycznie.

Jednak usuwanie X rekordów za jednym zamachem możesz zrobić poprzez IN. Do tablicy zapisujesz ID rekordów i usuwasz je poprzez:
  1. DELETE FROM tabela WHERE id IN (1, 2, 3);

Tablicę ID podczepiasz pod zapytanie poprzez:
  1. implode(', ', $ids)

gdzie w tablicy $ids masz identyfikatory rekordów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.