Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Czy można dodać kilka rekorów jednocześnie?
polishmilk
post 30.05.2009, 18:22:45
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 27.04.2007

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


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?
Go to the top of the page
+Quote Post
guilty82
post 30.05.2009, 18:40:27
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


jest, ale fajnie byłoby zobaczyć kod smile.gif
Go to the top of the page
+Quote Post
polishmilk
post 30.05.2009, 18:47:33
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 27.04.2007

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


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.
Go to the top of the page
+Quote Post
guilty82
post 30.05.2009, 18:58:50
Post #4





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


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
Go to the top of the page
+Quote Post
polishmilk
post 30.05.2009, 19:06:55
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 27.04.2007

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


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?
Go to the top of the page
+Quote Post

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: 18.07.2025 - 12:27