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%)
-----


Cytat(pyro @ 28.05.2009, 13:56:42 ) *
_olo_1984, jak ty chcesz w wartości tablicy $_POST wsawić tablice?


dokładnie w ten sposób, np.: name="nazwisko[]"
dodatkowo, w naszym przypadku trzeba utworzyć tablicę z kluczem jako id lekarza.
Co do błędu który się pojawił to na początku trzeba sprawdzić sobie co jest w tablicy $_POST, w tym przypadku tak jak napisał kolega wyżej $value nie jest tablicą.
Kolega szasza niech przeanalizuje sobie przykład: (1.php)
  1. <?php
  2. $tablica = array();
  3.  
  4. foreach ($_POST as $key => $value)
  5. {
  6.    foreach ($value as $k => $v)
  7.    {
  8.        $tablica[$k][$key] = $v;
  9.    }
  10. }
  11.  
  12. echo '<pre>';
  13. print_r($tablica);
  14. echo '</pre>';
  15.  
  16. foreach ($tablica as $key => $value)
  17. {
  18.    $zap = '';
  19.    $i = 1;
  20.    $c = count($value);
  21.    foreach ($value as $k => $v)
  22.    {
  23.        if($c == $i)
  24.        {
  25.            $zap .= $k.'="'.$v.'"';
  26.        }
  27.        else
  28.        {
  29.            $zap .= $k.'="'.$v.'",';
  30.        }
  31.        $i++;
  32.    }
  33.    echo 'mysql_query(UPDATE table SET '.$zap.' WHERE id='.$key.');<br />';
  34. }
  35.  
  36. ?>
  37. <form action="2.php" method="post">
  38. <input type="text" name="imie[]" value="" /><input type="text" name="nazwisko[]" value="" /><input type="text" name="wiek[]" value="" /><br />
  39. <input type="text" name="imie[]" value="" /><input type="text" name="nazwisko[]" value="" /><input type="text" name="wiek[]" value="" /><br />
  40. <input type="text" name="imie[]" value="" /><input type="text" name="nazwisko[]" value="" /><input type="text" name="wiek[]" value="" /><br />
  41. <input type="text" name="imie[]" value="" /><input type="text" name="nazwisko[]" value="" /><input type="text" name="wiek[]" value="" /><br />
  42. <input type="submit" value="ok" />
  43. </form>

pozdr
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: 10.10.2025 - 06:43