Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MySQL] Edycja wielu kolumn na raz
szasza
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 10.01.2009

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


Witam. Mam baze danych w której jest tabela 'lekarze' i zawira pola: lekarzID, nazwisko, specjalizacja, pon, wto, sro, czw, pia. Zrobilem strona która wyswietla te dane w polu tkstowym aby mozna je bylo edytowac po stronie przegladarki. tak wyglada kod z pominieciem tabel, tekstów itp.

Kod
<?php
  
$connection = @mysql_connect ("127.0.0.1","root","");
$ins = @mysql_select_db(bd_przychodnia, $connection);
mysql_query('SET CHARSET latin2');
$zapytanie = "SELECT * FROM lekarze";
$wykonaj = mysql_query ($zapytanie);

while($wiersz=mysql_fetch_array ($wykonaj)) {


echo '<tr> <td width=20%>';
echo '<input type="text" size="29" name="nazwisko" value="'.$wiersz['nazwisko'].'">';
echo '<br>';
echo '<input type="text" size="29" name="specjalizacja" value="'.$wiersz['specjalizacja'].'">';
echo '</td>';
echo '<td width=10%>';
echo '<input type="text" name="pon" value="'.$wiersz['pon'].'">';
echo '</td>';
echo '<td width=10%>';  
echo '<input type="text" name="wto" value="'.$wiersz['wto'].'">';
echo '</td>';
echo '<td width=10%>';  
echo '<input type="text" name="sro" value="'.$wiersz['sro'].'">';
echo '</td>';
echo '<td width=10%>';
echo '<input type="text" name="czw" value="'.$wiersz['czw'].'">';
echo '</td>';
echo '<td width=10%>';
echo '<input type="text" name="pia" value="'.$wiersz['pia'].'">';
echo '</td> </tr>';
}  

?>


Wszystko jest umieszczone w formularzu post i po nacisnieciu przyciusku Edytuj, przechodze do pliku edit.php ktory powinien zmienic wsystkei dane, tylko nie wiem jakiej uzyc instrukcji aby wszytskie pola w tabeli lekarze sie zmienily zgodnie z tym co wpisalem w formularzu :/ gdyz mi sie zmienia tylko ostatni wiersz :/ czy ktos moglby mi pomóc? Gdyż wiem jak zrobić edycje gdy mamy stala ilosc rekordow a w tym przypadku zalezy to od ilosci lekarzy zapisanych w bazie :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
_olo_1984
post
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


po przesłaniu formularza w obecnej formie daj podgląd na tablicę $_POST (print_($_POST)) - zobaczysz, że masz w niej tylko ostatni "rekord". Więc nazwy inputów musisz zrobić w formie tablicy:
  1. <?php
  2. ...
  3. $zapytanie = "SELECT * FROM lekarze";
  4. $wykonaj = mysql_query ($zapytanie);
  5.  
  6. while($wiersz=mysql_fetch_array ($wykonaj)) {
  7.  
  8. // zapewne każdy lekarz ma swój ID (identyfikator), więc musisz go wykorzystać
  9. // zakładamy że identyfikatorem jest: $wiersz['id']
  10.  
  11. echo '<tr> <td width=20%>';
  12. echo '<input type="text" size="29" name="nazwisko['.$wiersz['id'].']" value="'.$wiersz['nazwisko'].'">';
  13. echo '<br>';
  14. echo '<input type="text" size="29" name="specjalizacja['.$wiersz['id'].']" value="'.$wiersz['specjalizacja'].'">';
  15. echo '</td>';
  16. echo '<td width=10%>';
  17. echo '<input type="text" name="pon['.$wiersz['id'].']" value="'.$wiersz['pon'].'">';
  18. echo '</td>';
  19. echo '<td width=10%>';  
  20. echo '<input type="text" name="wto['.$wiersz['id'].']" value="'.$wiersz['wto'].'">';
  21. echo '</td>';
  22. echo '<td width=10%>';  
  23. echo '<input type="text" name="sro['.$wiersz['id'].']" value="'.$wiersz['sro'].'">';
  24. echo '</td>';
  25. echo '<td width=10%>';
  26. echo '<input type="text" name="czw['.$wiersz['id'].']" value="'.$wiersz['czw'].'">';
  27. echo '</td>';
  28. echo '<td width=10%>';
  29. echo '<input type="text" name="pia['.$wiersz['id'].']" value="'.$wiersz['pia'].'">';
  30. echo '</td> </tr>';
  31. }
  32. ...
  33. ?>


i po takim manewrze, przejrzyj jeszcze raz zawartość tablicy $_POST. Bedziesz miał pogrupowane dane. Trzeba będzie je jeszcze raz przegrupować zgodnie z identyfikatorem i w pętli dokonać UPDATE w bazie.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 10.10.2025 - 18:39