Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Pętla usuwająca dane z bazy
cadavre
post 27.08.2006, 17:58:33
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Struktura:


Objaśnienia:
1. Wykres. Przedstawia on strukturę przynależności elementów do działów. "idX" to nazwa elementu. Podkreślona nazwa elementu to dział.
2. Tabela.
ID - auto_increment'owany id elementu
BELONGS - określa, do którego ID'u (będącego działem) należy element
DZIAL - przjmuje wartości 1 i 0 (prawda/fałsz). Jeśli 1 - element jest działem
NAZWA - wiadomo...


Co potrzebuję:
Aby znając jeden ID (w tym przypadku np. 1) usunąć wszystkie wpisy, które są z nim powiązane. Czyli by usunąć całość ID=1 - trzeba usunąć działy ID=3 oraz ID=6 oraz ich elementy. Przy okazji potrzebuję odczytać wartość "FILE" (nie narysowałem w tabeli) dla każdego z usuwanych ID'ów.

Próbowałem całość obsłużyć pętlą, ale nie bardzo mam pomysł jak to zrobić. Coś takiego naskubałem:
  1. <?php
  2. $i=0;
  3. do {
  4. $sqlI = "SELECT `id` FROM `menu` WHERE `belongs`='$id'";
  5. $queryI = mysql_query($sqlI);
  6. while ($row = mysql_fetch_row($queryI)) {
  7. $eidy[] = $row[0];
  8. $i++;
  9. }
  10. (...)
  11. ?>

W ten sposób mam w tablicy $eidy, IDy działów, które są w pierwszej kolejności poddziałami. $i zawiera ile ID'ów zostało zapisanych (w celu wykonania pętli). Następnie trzeba wykonać identyczną pętlę by odczytać czy ID'y z tablicy $eidy nie mają w sobie jeszcze jakichś poddziałów.

ID'y wszystkich działów potrzebuję mieć w tablicy (np. jak tutaj $eidy).

Jakieś pomysły? smile.gif

Ten post edytował cadavre 27.08.2006, 17:59:57


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:02