Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Czy można dodać kilka rekorów jednocześnie?
Forum PHP.pl > Forum > Przedszkole
polishmilk
tak jak w temacie, mam wy listowane pewne dane(imię, nazwisko) przy każdym imieniu i nazwisku pojawia się pole wyboru, po wybraniu pewnej opcji i wciśnieciu przycisku dalej do tabeli dodaje się tylko pierwszy rekord. Czy mysql ma możliwość dodania kilku rekordów do tej samej kolumny w tym samym czasie?
guilty82
jest, ale fajnie byłoby zobaczyć kod smile.gif
polishmilk
sorry ;p

więc wszystko składa się jakby z trzech etapów
wybór: klasy, przedmiotu
wyświetlenie uczniów oraz pola select
dodanie do bazy(tu właśnie dodaje się pierwszy)

  1. <?php
  2. function lista_obecnosci($klasa, $przedmiot){
  3.    $lacz=polacz();
  4.    $zapytanie="SELECT * FROM uczen WHERE klasa='$klasa'";
  5.    $wynik=$lacz->query($zapytanie);
  6.    
  7.    
  8.    if(!$wynik)
  9.        echo 'Pobranie uczniów nie powiodło się';
  10.    else{
  11.        
  12.        $ile_znaleziono=$wynik->num_rows;
  13.        
  14.        echo 'Znaleziono '.$ile_znaleziono.' uczniów<br />';
  15.        echo 'Właśnie sprawdzasz obecość z przedmiotu '.$przedmiot;
  16.        echo '<form action="sprawdz_obecnosc.php" method="post"><table align="center"><tr><td>Imie</td><td>Nazwisko</td><td>Czy obecny?</td>';
  17.        
  18.        while($wiersz=$wynik->fetch_assoc()){
  19.            
  20.            echo '<tr><td>'.$wiersz['imie'].'</td>';
  21.            echo '<td>'.$wiersz['nazwisko'].'</td>';
  22.            echo '<input type="hidden" name="pesel" value="'.$wiersz['pesel'].'">';
  23.            echo '<td><select name="obecny"><option name="obecny" value="obecny">Obecny</option>';
  24.            echo '<option name="nie_obecny" value="nie_obecny">Nie obecny</option></select></td></tr>';
  25.        }
  26.        
  27.        echo '<input type="hidden" name="klasa" value="'.$klasa.'">';
  28.        echo '<input type="hidden" name="przedmiot" value="'.$przedmiot.'">';
  29.        echo '<input type="submit" value="Sprawdź obecność"></table></form>';
  30.    }
  31.    
  32. }
  33. ?>







  1. <?php
  2. function sprawdz_obecnosc($pesel, $przedmiot, $klasa, $obecny, $data){
  3.    $lacz=polacz();
  4.    $zapytanie="INSERT INTO obecnosc VALUES ('', '$pesel', '$przedmiot', '$klasa', '$obecny', '$data')";
  5.    $wynik=$lacz->query($zapytanie);
  6.    
  7.        
  8. }
  9. ?>


pomijam formularze ponieważ wszystko działa poprawnie z dodawaniem. Podejrzewam że chodzi o '.' ale nie wiem dokładnie jak to działa.
guilty82
prześlij sobie selecta w postaci tablicy
  1. <?php
  2. <option name="obecny[]" value="obecny">Obecny</option>
  3. ?>

następnie przeleć pętlą i dodaj do bazy smile.gif
polishmilk
Można nieco jaśniej. Rozumiem że w formularzu ma zostać samo '[]' a co jeżeli chodzi o przesłanie $_POST['obecny']? czy też mam to jakoś do tablicy wrzucić? Czy trzeba wprowadzić jakąś zmienną pomocniczą, która liczyła by ilu uczniów było sprawdzonych i następnie użyć jej np w pętli for?
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.