Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie wielu rekordów na raz
dragon7
post 15.10.2010, 13:21:30
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.10.2010

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


Szukałem, patrzyłem po internecie, nic z znalezionych mi sposobów nie działa. Mianowicie, chcę aby usuwało mi wszystkie rekordy zaznaczone checkboxami. Oto kod:
  1. $conn = mysql_connect("127.0.0.1","root","krasnal");
  2. mysql_select_db("liceum");
  3. @$enazwa=$_POST['enazwa'];
  4. @$ezdjecie=$_POST['ezdjecie'];
  5. @$eid=$_POST['eid'];
  6. @$id=$_POST['id'];
  7. $edit = "UPDATE galeria SET nazwa='$enazwa', zdjecie='$ezdjecie' WHERE id='$id'";
  8. $ile=count($eid);
  9. for ($a=0; $a<$ile; $a++) {
  10. $delete = "DELETE FROM zdjecia WHERE id = '$eid' LIMIT 1";
  11. $wyn2 = mysql_query($delete, $conn); }
  12. $wyn = mysql_query($edit, $conn);
  13. if ($wyn and $wyn2) {
  14. echo "<b>Edycja powiodła się</b>";
  15. }
  16. else {
  17. echo "<b>Edycja nie powiodła się</b>";
  18. }
  19. mysql_close($conn);

W tym wypadku usuwa tylko 1, bez pętli for usuwa także 1, usuwając limity lub dodając dodatkowe fragmenty kodu albo usuwa po 1 albo wcale. Co mam zmienićquestionmark.gif

Ten post edytował dragon7 15.10.2010, 13:21:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dragon7
post 15.10.2010, 14:23:56
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 1.10.2010

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


  1. $conn = mysql_connect('localhost',login,haslo);
  2. mysql_select_db("liceum");
  3. @$idn=$_GET['idn'];
  4. $zapytanie = "SELECT * FROM galeria WHERE id = '$idn'" ;
  5. $zap = "SELECT * FROM zdjecia WHERE idgal = '$idn' ORDER BY id DESC" ;
  6. $wynik = mysql_query($zapytanie);
  7. $wyn = mysql_query($zap);
  8. $wpis = mysql_fetch_assoc($wynik);
  9. $nazwa=$wpis['nazwa'];
  10. $zdjecie=$wpis['zdjecie'];
  11. echo '<span class="admin"><form method="post" action="editg.php">
  12. <br />
  13. Nazwa galerii:<input type="text" name="enazwa" size="70" value="'.$nazwa.'" /><br /><br />
  14. Link do zdjęcia:<input type="text" name="ezdjecie" size="70" value="'.$zdjecie.'" /><br /><br />
  15. <input type="hidden" name="id" value="'.$idn.'"><br />Usuń zdjęcia:';
  16. echo "<table border='0' cellspacing='0' cellpadding='3'><tr><form>";
  17. $licznik = 0;
  18. while($wpis2 = mysql_fetch_assoc($wyn)){
  19. $licznik++;
  20. $adres=$wpis2['adres'];
  21. $id=$wpis2['id'];
  22. echo "<td width='140'><input type='checkbox' name='eid[]' value='".$id."' /><br /><img border='1' src='../images/".$adres."_m.jpg' /></td>";
  23. if($licznik%4 == 0) {
  24. echo "</tr><tr>";
  25. }}
  26. echo "</form></tr></table>";
  27. echo'<input type="submit" value="Zapisz" /></form>';
  28. mysql_close($conn);

no tak właśnie usuwa ostatni zaznaczony

już wiem wystarczyło dodać [$a]
  1. $delete = "DELETE FROM zdjecia WHERE id = '$eid[$a]' LIMIT 1";

Ale i tak pomogłeś, bo trzeba było też wstawić w nazwie eid[]. Dzięki:D

Ten post edytował dragon7 15.10.2010, 14:19:35
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: 26.06.2025 - 07:25