Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Tablice, problem!
Maciekbjw
post 27.03.2008, 21:31:37
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

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


Witam, piszę sobie w miare prosty skrypt do obsługi stron sportowych - dodawanie meczu. Jestem na etapie implementacji dodawania kartek. I spotkałem się z takim oto problemem:

Kod:
  1. <?php
  2.  
  3. if(empty($_POST['form']))
  4. {
  5. echo '<form action="s.php" method="POST">
  6. <input type="checkbox" name="zawodnik[]" value="1">zawodnik nr1 <select size="1" name="ilosc[]"><option value="1">Jedna kartka</option>
  7. <option value="2">Dwie kartki</option></select>
  8.  
  9. <input type="text" name="minuta[]" value="" size="2"><br/>
  10.  
  11. <input type="checkbox" name="zawodnik[]" value="2">zawodnik nr2<select size="1" name="ilosc[]"><option value="1">Jedna kartka</option>
  12. <option value="2">Dwie kartki</option></select>
  13.  
  14. <input type="text" name="minuta[]" value="" size="2"><br/>
  15.  
  16. <input type="checkbox" name="zawodnik[]" value="3">zawodnik nr3<select size="1" name="ilosc[]"><option value="1">Jedna kartka</option>
  17. <option value="2">Dwie kartki</option></select>
  18.  
  19. <input type="text" name="minuta[]" value="" size="2"><br/>
  20. <input type="submit" name="form">  
  21. </form>';
  22. }
  23. else
  24. {
  25. $zawodnik = $_POST['zawodnik'];
  26. $minuta = $_POST['minuta'];
  27. $ilosc = $_POST['ilosc'];
  28.  
  29. foreach($zawodnik as $value)
  30. {
  31. echo 'Zawodnik o id = '.$value.'<br/>';
  32. }
  33.  
  34.  
  35. foreach($minuta as $value)
  36. {
  37. echo 'Kartka w minucie  = '.$value.'<br/>';
  38. }
  39.  
  40. foreach($ilosc as $value)
  41. {
  42. echo 'Ilosc kartek  = '.$value.'<br/>';
  43. }
  44.  
  45. }
  46. ?>


Dodam tylko, że dane będą generowane automatycznie(pobierane z bazy z pomocą pętli) jeśli wypełnie wszystkie pola (checkbox) to skrypt działa poprawnie. Moje pytanie: czy da się za pomocą pętli (czegokolwiek innego) sprawdzać, czy pola formularza o nazwie tablicy zostały wypełnione? Bo samo isset/empty nie daje nic, bo przecież tablica zawsze będzie, chodzi o jej wartość. I jeśli np spośród 40 pól, wybieramy jedno to skrypt wyświetla tylko:
Zawodnik o id = 3
Ilosc kartek = 1
Minuta: 10

Bo teraz, to wyswietla wszystkie pola...
Proszę o odp, pozdrawiam.
Powód edycji: poprawiłem kod php ~Cienki1980


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
Pilsener
post 28.03.2008, 08:42:17
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Policz niepuste elementy tablicy (lub takie, które spełniają określone kryteria) i porównaj z liczbą pól formularza.

Ja bym inaczej podszedł do tego problemu:
- wybierasz zwodnika z listy rozwijanej
- wpisujesz, w której minucie dostał żółtą lub czerwoną kartkę (albo jedną i drugą)
- klikasz wyślij i wybierasz następnego zawodnika do dodania

Zrób tak, że jeśli zawodnik już był dodany, to zostanie nadpisany. Możesz też zrobić tak dla wszystkich zawodników, te checkboxy są Ci do niczego nie potrzebne - po prostu jak nie wpiszesz minuty, to nie będzie miał kartki, w bazie będzie null.
Go to the top of the page
+Quote Post
Maciekbjw
post 28.03.2008, 15:00:35
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

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


No dzięki, problem w tym, że ja mam za jednym "zamachem" dodać cały mecz... czyli kartkowiczów, w podobny sposób bramki itp. Inaczej to ja bym sobie przecież poradził. Więc jest jakiś jeszcze inny sposób?


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 20.07.2025 - 10:29