Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]edycja wielu rekordów checbox
Forum PHP.pl > Forum > Przedszkole
bizon4500
Hej potrzebuje pomocy, kombinuje na różne sposoby ale niestety skrypt nie działa. Pobieram z formularza tablicę ze id rekordów i chcę zmienić jeden parametr. Poniżej dwa kody żaden nie działa. Można prosić o poradę.? Z formularza dostaje id rekordów ale nie aktualizuje mi się to w bazie.


  1.  
  2. <?php
  3.  
  4. include('baza.php');
  5.  
  6.  
  7. var_dump($_POST['id']);
  8.  
  9.  
  10.  
  11. foreach ($_POST['id'] as $value) {
  12.  
  13.  
  14.  
  15. $sth = $pdo->prepare('UPDATE `artykuly` SET publiczny = 1 WHERE id = '.$value.'');
  16.  
  17. }
  18.  
  19. ?>
  20.  



  1.  
  2. nclude('baza.php');
  3.  
  4.  
  5. var_dump($_POST['id']);
  6.  
  7. $tbl=($_POST['id']);
  8.  
  9. $publiczny = 1;
  10.  
  11. $delet = implode(',', $_POST['id']);
  12. echo $delet;
  13.  
  14.  
  15.  
  16.  
  17. $sth = $pdo->prepare('UPDATE `artykuly` SET `publiczny`='.$publiczny.' WHERE id in '.$delet.' ');
  18.  
olszam
Sprawdzałeś co zawiera zmienna value? Poza tym prepare używa się jak chcesz bindować wartość

przykład:
  1. $sth = $pdo->prepare('UPDATE `artykuly` SET publiczny = 1 WHERE id = :value');
  2. $sth->bindValue(':value',$value,PDO::PARAM_INT);
  3. $sth -> execute();


a tak jak nie chcesz bindowania to zamień prepare na exec.
bizon4500
z formularza leci mi coś takiego array(7) { [0]=> string(3) "[3]" [1]=> string(3) "[4]" [2]=> string(3) "[5]" [3]=> string(3) "[6]" [4]=> string(3) "[7]" [5]=> string(3) "[8]" [6]=> string(3) "[9]
po sklejeniu implodem [3],[4],[5],[6],[7],[8],[9] .
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.