Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuwanie wielu rekordów na raz
dragon7
post
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ć(IMG:style_emoticons/default/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
ktosiu
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 12.02.2010

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


ja tam nigdy nie byłem orłem... ale sprawdziłem i mi działa:D
prawdopodobnie będziesz musiał lekko przerobić formularz bo znając życie każdy checkbox ma tą samą nazwę czyli eid

ja zrobiłem to w ten sposób i działało
formularz
  1. <form name="myform" action="form.php" method="POST">
  2. <input type="checkbox" name="option1" value="Milk"> Milk<br>
  3. <input type="checkbox" name="option2" value="Butter" checked> Butter<br>
  4. <input type="checkbox" name="option3" value="Cheese"> Cheese<br>
  5. <input type="submit" value="dalej" />
  6. <br>
  7. </form>


skrypt
  1. foreach($_POST as $k=>$v){
  2. if (preg_match("/option[0-9]+/",$k)){
  3. $eid[]=$v;
  4. }
  5. }


w ten sposób tworzysz tabelkę z id które trzeba skasować, później w następnej pętli tworzysz albo zapytanie albo wstawiasz to do tego co masz i wywalasz pojedynczo

pewnie ktoś mnie zjedzie ze to prostackie podejście, ale cóż ja też się dopiero uczę

sposób thek'a duuużo wygodniejszy (IMG:style_emoticons/default/smile.gif)

Ten post edytował ktosiu 15.10.2010, 13:59:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 13:04