Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wysyłanie POST danych z ID i później odbieranie go.
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć mam problem...
Chce zrobić coś takiego:
Pobieram z MySQL x Zawodników (nazwe i id) oraz dodaje do każdego zawodnika 2 inputy, gdzie wpisuję liczby i wysyłam je później metodą POST, dodam, że zawodników wyświetlam w pętli while (i przy okazji dodaję input przy wyświetleniu), coś takiego to wygląda po wyświetleniu:



1 Input to Liczba 1, 2 Input to Liczba 2...
I teraz tak: input ma name: name='liczba1[".$kiero['id']."]' , a drugi name='liczba2[".$kiero['id']."]'.
Teraz chcę przesyłam postem te liczby(1 i 2) i później ponownie pobieram sobie wszystkich zawodników i są mi tam potrzebne kilka informacji (um1/um2/um3) wiec daje ponownie pętle while i pomiędzy { ,a } wpisuję:

  1. $umm = $kier['um1'] + $kier['um2'] + $kier['um3'];
  2. $rand = rand($liczba1 , $liczba2); // - Dokładnie oto tu chodzi, tutaj ma być przesyłana ta liczba która wcześniej była dodana w input (liczba 1 i 2).
  3. $wynik = $umm * $rand;
  4. echo "$kier['name'] : Wynik: $wynik";



Na prosty sposób mojego myślenia coś takiego trzeba by zrobić:
  1. $_POST['liczba1[$kier['id']]']
lub
  1. $_POST['liczba1['$kier['id']']']
No ale to nie działa wiec jak można to wykonać ?...


Pozdrawiam i z góry bardzo dziękuje...
jaslanin
1. spróbuj tak:

$_POST['liczba1'][$kier['id']]

2. jak nie to pokaż kod HTML tego formularza + ewentualnie tablice $_POST

i najlepiej pełen kod
Giluś
Cały mój kod:
  1. <?php
  2. $zawodniccy = mysql_query("SELECT * FROM kierowcy") or die('Błąd Zapytania - Zawodnicy');
  3. if(mysql_num_rows($zawodniccy) > 0) {
  4. echo "<form action='?act=yes' method='post'><b>Kierowca</b><br />";
  5. while($kiero = mysql_fetch_assoc($zawodniccy)) {echo "<i>".$kiero['name']."</i> : <input type='text' name='liczba1[".$kiero['id']."]' /> - <input type='text' name='liczba2[".$kiero['id']."]' /><br />";}
  6. echo '<button type="submit">Przejdź dalej.</button></form>';
  7. }
  8.  
  9.  
  10. if(!isset($_GET['act'])){$_GET['act'] = 'index';}
  11. switch($_GET['act']){case 'yes':
  12.  
  13. $kierowcy = mysql_query("SELECT * FROM kierowcy") or die('Błąd Zapytania - Kierowcy');
  14. while($kier = mysql_fetch_assoc($kierowcy)) {
  15. $umm = $kier['um1'] + $kier['um2'] + $kier['um3'];
  16.  
  17. $rand = rand($liczba1 , $liczba2); // Tutaj To co nie wiem zrobić.
  18. $wynik = $umm * $rand;
  19. echo "$kier['name'] : Wynik: $wynik <br />";
  20. }
  21.  
  22.  


A Źródło (Chrome - takie pokazało).

  1. <b>Kierowca</b><br />
  2. <i>Casey Stoner</i> : <input type='text' name='liczba1[1]' /> - <input type='text' name='liczba2[1]' /> <br />
  3. <i>Casey Stoner2</i> : <input type='text' name='liczba1[2]' /> - <input type='text' name='liczba2[2]' /> <br />
  4. <i>Casey Stoner3</i> : <input type='text' name='liczba1[3]' /> - <input type='text' name='liczba2[3]' /> <br />
  5. <i>Casey Stoner4</i> : <input type='text' name='liczba1[4]' /> - <input type='text' name='liczba2[4]' /> <br />
  6. <i>Casey Stoner5</i> : <input type='text' name='liczba1[5]' /> - <input type='text' name='liczba2[5]' /> <br />
  7. <i>Casey Stoner6</i> : <input type='text' name='liczba1[6]' /> - <input type='text' name='liczba2[6]' /> <br />
  8. <i>Casey Stoner7</i> : <input type='text' name='liczba1[7]' /> - <input type='text' name='liczba2[7]' /> <br />
  9. <i>Casey Stoner8</i> : <input type='text' name='liczba1[8]' /> - <input type='text' name='liczba2[8]' /> <br />
  10. <i>Casey Stoner9</i> : <input type='text' name='liczba1[9]' /> - <input type='text' name='liczba2[9]' /> <br />
  11. <i>Casey Stoner0</i> : <input type='text' name='liczba1[10]' /> - <input type='text' name='liczba2[10]' /> <br />
  12.  


Array.



  1. [liczba1] => Array ( [1] => 1.1 [2] => 2.1 [3] => 3.1 [4] => 4.1 [5] => 5.1 [6] => 6.1 [7] => 7.1 [8] => 8.1 [9] => 9.1 [10] => 0.1 )
  2.  
  3. [liczba2] => Array ( [1] => 1.2 [2] => 2.2 [3] => 3.2 [4] => 4.2 [5] => 5.2 [6] => 6.2 [7] => 7.2 [8] => 8.2 [9] => 9.2 [10] => 0.2 )
  4. )

jaslanin
  1. <?php
  2. $zawodniccy = mysql_query("SELECT * FROM kierowcy") or die('Błąd Zapytania - Zawodnicy');
  3. if(mysql_num_rows($zawodniccy) > 0) {
  4. echo "<form action='?act=yes' method='post'><b>Kierowca</b><br />";
  5. while($kiero = mysql_fetch_assoc($zawodniccy)) {echo "<i>".$kiero['name']."</i> : <input type='text' name='liczba1[".$kiero['id']."]' /> - <input type='text' name='liczba2[".$kiero['id']."]' /><br />";}
  6. echo '<button type="submit">Przejdź dalej.</button></form>';
  7. }
  8.  
  9.  
  10. if(!isset($_GET['act'])){$_GET['act'] = 'index';}
  11. switch($_GET['act']){case 'yes':
  12.  
  13. $kierowcy = mysql_query("SELECT * FROM kierowcy") or die('Błąd Zapytania - Kierowcy');
  14. while($kier = mysql_fetch_assoc($kierowcy)) {
  15. $umm = $kier['um1'] + $kier['um2'] + $kier['um3'];
  16.  
  17. $rand = rand($_POST['liczba1'][$kier['id']] , $_POST['liczba2'][$kier['id']]);
  18. $wynik = $umm * $rand;
  19. echo "$kier['name'] : Wynik: $wynik <br />";
  20. }
  21.  


wydaje mi się że tak to powinno być, niemniej jednak napisz jaki błąd wyskakuje itp.

jesteś pewien że tak chcesz wykorzystać funkcję rand, ona nie zwraca losowego elementu jednego lub drugiego z dwóch przekazanych tylko liczbę całkowitą losową pomiędzy nimi, tj. ich wartościami
Giluś
Dobrze mówisz, już Ci dałem pomógł, zle sobie napisałem zmienną.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.