Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]petla while i przeslanie wwynikow do drugiej tabeli wraz z dopisanymi wartosciami
malamut_kalahan
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.10.2012

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


Witam,
mam taki problem podczas tworzenia formularza do obsługi bazy danych.
Sprawa wygląda tak: sa dwie tabele w bazie

jedna slownikowa(modyfikowana z poziomu formularza ze strony www) struktura:
id | nazwa
1. warszawa
2. poznan
3. gdansk
4. wroclaw
z tej tabeli pętlą „while” pobieram nazwy do formularza i w tym formularzu dopisuje do pobranych nazw wartości np. 1,3,4,
chciałbym z poziomu formularza nazwy wraz z wartościami dopisywać do drugiej tabeli, ale poki co dopisuje mi tylko nazwe i wartość z ostatniego „przebiegu” pętli while , jak to "przeskoczyć"? dopiero zaczynam zabawe z php i moze "while" to nie tedy droga ....
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
malamut_kalahan
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.10.2012

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


<?


$miasto=mysql_query("select * from miasto ");
echo"<br><br><form action='bezdod.php' method='post'>
<table align='left'border='3'><tr><td><b>miasto</td><td><b>ilosc</td></tr>";
while($x=mysql_fetch_assoc($miasto)){
$td=$x['miasto'];
echo"<tr><td>$td</td><td><input type='text' name='ilosc'></td></tr>";
}

echo"<tr><td colspan='2' align='center'><input type='submit' value='dodaj' name='dodaj'></td></tr></table></form>";


?>
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(malamut_kalahan @ 19.10.2012, 11:04:10 ) *
<?


$miasto=mysql_query("select * from miasto ");
echo"<br><br><form action='bezdod.php' method='post'>
<table align='left'border='3'><tr><td><b>miasto</td><td><b>ilosc</td></tr>";
while($x=mysql_fetch_assoc($miasto)){
$td=$x['miasto'];
echo"<tr><td>$td</td><td><input type='text' name='ilosc'></td></tr>";
}

echo"<tr><td colspan='2' align='center'><input type='submit' value='dodaj' name='dodaj'></td></tr></table></form>";


?>


Nie zbyt precyzyjnie objaśniłeś swój problem, ale domyślam się o co chodzi.

  1. $miasto=mysql_query("select * from miasto ");
  2.  
  3. echo"<br><br><form action='bezdod.php' method='post'><table align='left'border='3'><tr><td><b>miasto</td><td><b>ilosc</td></tr>";
  4.  
  5. while($x=mysql_fetch_assoc($miasto)){
  6.  
  7. $td=$x['miasto'];
  8. echo"<tr><td>$td</td><td><input type='text' name='ilosc[{$x['id']}]'></td></tr>"; // tutaj jest różnica z Twoim kodem.
  9.  
  10. }
  11.  
  12. echo"<tr><td colspan='2' align='center'><input type='submit' value='dodaj' name='dodaj'></td></tr></table></form>";


Rzecz w tym, że przesyłając swój formularz miałeś tylko jedną zmienną $_POST['ilosc'] prawda? Zmienna była kolejno nadpisywana aż do wartości w ostatnim obrocie pętli. Zastosuj tutaj nazwę tablicową, tak jak zaprezentowałem to w przykładzie powyżej. Odczytujesz ją poprzez $_POST['ilosc']['id_miasta']. A zresztą dopisz linijkę:

  1. print_r($_POST);


w pliku wynikowym (bezdod.php?) i wszystko powinno być jasne.
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: 8.10.2025 - 21:39