Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]My SQL UPDATE
-marcinmil-
post
Post #1





Goście








Witam. Potrzebuję pomocy.

Mam taki projekt na zalicznie. Stworzyc baze danych a w niej tabele studentów. pola: id, imie, nazwisko, grupa , rok, zalicznie. //zrobiłem

W tabeli uzupełnic za pomocą polecenia INSERT wszystkie kolumny oprócz ostatniej. //zrobiłem

Wyswietlic dane na ekran za pomocą SELECT do kazdego studenta dodac checkbox i submit zaliczam; // zrobiłem za pomoca petli while ($row = mysqli_fetch_array($data)) w tej petli jest tez formularz z input type checkbox name = " check" value = "tak" i przyciskiem submit name submit value zalicz tak ze kazdy student ma swój checkbox i swój submit ( tak ma niby byc)

Za pomocą instrukcji UPDATE zaktualizowac pole zaliczenie w tabeli przypisując studentowi z zaliczeniem 1. studenci nie zaliczeni mają wartosc null.

I mój problem jest taki, ze jesli umieszcze ten kod co jest ponizej w petli to niezaleznie który chceckbox zaznacze i wcisne submit baza uzupełnia pole zaliczenie wartością '1' dla wszystkich studentow a musi tylko temu jednemu. a jak kod umieszczam pod petlą to nie uzupełnia nic, a jak na początku skryptu to nie zna zmiennej row bo ona pojawia sie dopiero w petli .

if(isset ($_POST['submit'])) // gdy nacisnieto przycisk submit
{
$zm=$row['student_id']; // przypisuje zmiennej wartosc id studenta bo zapytanie sql zapis $row['student_id'] traktuje jako błąd.
if(isset($_POST['tak'])) // jesli zaznaczono checkbox to:
{

$query1 = "UPDATE studenci SET zaliczenie = '1' WHERE student_id = '$zm' ";
mysqli_query($dbc, $query1) or die ('Error');
echo '<p>'. $zm .'</p>';
}
}

Jak to zrobic zeby uzupełniło pole tylko wybranemu studentowi a nie wszystkim moze źle przekazuje ze chceckbox jest check.
Przepraszam za błędy
dziekuje
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-marcinmil-
post
Post #2





Goście







  1. <?php
  2.  
  3.  
  4. $query = "SELECT * FROM studenci ORDER BY id DESC";
  5. $data = mysqli_query($dbc, $query);
  6.  
  7. while ($row = mysqli_fetch_array($data))
  8. {
  9.  
  10. echo '<div id="register" class="corners">';
  11. echo '<p>id: '. $row['student_id'] .'</p>';
  12. echo '<p>imię: '. $row['student_imie'] .'</p>';
  13. echo '<p>nazwisko: '. $row['student_nazwisko'] .'</p>';
  14. echo '<p>grupa: '.$row['student_grupa'] .'</p>';
  15.  
  16. echo '<form id="form" action="'.$_SERVER['PHP_SELF'].'" method="post">';
  17. echo '<div id ="aproved">';
  18. echo '<input type="checkbox" id="aprove" name="id_studenta[]" value="'.$id.'" class="check"/>';
  19. echo '<input type="submit" id="submit" name="submit" value="aproved" class="check-button"/>';
  20. echo '</div>';
  21. echo '</form>';
  22.  
  23. if(isset ($_POST['submit']))
  24. {
  25. if(isset ($_POST['id_studenta']))
  26. {
  27. foreach ( $_POST['id_studenta'] as $value )
  28. {
  29. $query1 = "UPDATE studenci SET zaliczenie = '1' WHERE id='$value'";
  30. mysqli_query($dbc, $query1) or die ('Error');
  31. }
  32. }
  33. }
  34.  
  35. echo '</div>';
  36. } else {echo '</div>';}
  37.  
  38.  
  39. } else {echo '</div>';}
  40.  
  41. }
  42.  
  43.  
  44. mysqli_close($dbc);
  45. ?>
  46.  


Postanowiłem umiescic duzą czesc tego skryptu bo moze mi pomozecie bardziej. Zrobiłem jak podpowiadał mi b4rt3kk ale nic z tego. Chcociaz rzuccie okiem
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: 18.09.2025 - 10:33