![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam do zrobienia projekt na studiach, chce napisac typera, do typowania wyników meczów. Ale napotkałem pewien problem, tworzą mi się w pętli while kolejne pola input a za pętlą mam przycisk submit, po którego kliknięciu ma się wysłac cały formularz do bazy danych. Tylko że teraz w tej wersji co mam wysyła mi się np 6 razy ostatni mecz, wiem że to przez to że w każdym kolejnym przejściu przez pętlę te pola input mają taką samą nazwę. Może mi ktoś podpowiedzieć jak ten problem rozwiązać?
Kod $wynik = mysql_query("SELECT Kolejka,Data, Godzina, Mecz FROM Liga_angielska WHERE Kolejka='$nr'") or die("Blad");
$n=mysql_num_rows($wynik); <table align="left"> <form method="post" action="typ.php?akcja=wykonaj"> <br><TR><TD align="center">Data</TD><TD align="center">Godzina</TD><TD> </TD><TD align="center">Mecz</TD><TD></TD></TR> <?php while ($wiersz = mysql_fetch_array($wynik)) { $formatgodz = 'H:i'; // Ustawiamy, jaki format godziny chcemy otrzymac. $godzzbazy = ''.$wiersz['Godzina'].''; // Do tej zmiennej przypisujemy wartosc godziny pobranej z bazy danych. $formatdaty = 'd.m.Y'; // Ustawiamy, jaki format daty chcemy otrzymac. $datazbazy = ''.$wiersz['Data'].''; // Do tej zmiennej przypisujemy wartosc daty pobranej z bazy danych. $form=date($formatdaty, strtotime($datazbazy)); $godz=date($formatgodz, strtotime($godzzbazy)); $mecz=$wiersz['Mecz'];?> <TR><TD align="center"> <input maxlength="50" type="text" name="data" value="<?=$form?>" readonly="yes" style="border: 0px" size="10" /> </TD><TD align="center"> <input maxlength="50" type="text" name="godz" value="<?=$godz?>" readonly="yes" style="border: 0px" size="5" /> </TD><TD> </TD><TD align="center"><input maxlength="50" type="text" name="mecz" value="<?=$mecz?>" readonly="yes" style="border: 0px" size="25" /></TD><TD> <input maxlength="2" type="text" name="wynik_A" value="<?=$wynik_A?>" style="border: 1px solid #D5C69F" size="1" />:<input maxlength="2" type="text" name="wynik_B" value="<?=$wynik_B?>" style="border: 1px solid #D5C69F" size="1" /> </TD></TR> <? }?> <Input type="submit" value="Wyslij typy"> </form> <? $akcja = $_GET['akcja']; if ($akcja == wykonaj) { for($j=1;$j<=$n;$j++){ $form=$_POST['data']; $godz=$_POST['godz']; $mecz=$_POST['mecz']; $wynik_A=$_POST['wynik_A']; $wynik_B=$_POST['wynik_B']; mysql_query("INSERT INTO `$nick` (Data, Godzina, Mecz, Wynik_A, Wynik_B) VALUES('$form','$godz','$mecz','$wynik_A','$wynik_B')") or die("Blad,spróbuj ponownie!");} echo '<center>Twoje typy zostaly wyslane</center>'; } ?> </table> Ten post edytował 03luki 29.12.2011, 16:13:43 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Proponuję coś takiego:
name ustaw na mecz[] nie mecz. Wówczas po wysłaniu dostaniesz $_POST['mecz'] jako tablicę PHP ![]() Ten post edytował Sephirus 29.12.2011, 16:16:08 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
ok, zaraz wypróbuje. A jak mam to wtedy zapisać w tym miejscu gdzie definiuje co się ma stać po naciśnięciu przycisku submit, tzn jak się odwołać do tej tablicy mecz[]?
Kod for($j=1;$j<=$n;$j++){
$form=$_POST['data']; $godz=$_POST['godz']; $mecz=$_POST['mecz']; $wynik_A=$_POST['wynik_A']; $wynik_B=$_POST['wynik_B']; mysql_query("INSERT INTO `$nick` (Data, Godzina, Mecz, Wynik_A, Wynik_B) VALUES('$form','$godz','$mecz','$wynik_A','$wynik_B')") or die("Blad,spróbuj ponownie!");} Ten post edytował 03luki 29.12.2011, 16:24:44 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok poprawka musisz wszystkim polom jakie masz w formurzu, które są objęte pętlą while dać ten myk z "[]" żeby każde były zwracane jako tablica wówczas:
lecisz po tablicy i wrzucasz do bazy ![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje, super, wszystko działa
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 13:19 |