Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]W czym blad?
Forum PHP.pl > Forum > Przedszkole
Green-sc
Witam. Mam taki skrypt z formularzem. Wklepilem kawalek formularza i caly skrypt dodawania do bazy danych.
1. Czesc zawiera liste graczy w klanie. zaznacza sie je by pokazac kto gral w danym meczu.
2. To dodawanie formularza do BD mysql'a.

A pytanie oczywiste. Gdzie jest blad ? Wydaje mi sie ze w multiselect bo pierwszy raz z ta funcja mam do czynienia. Ale byc moze gdzies indziej mam blad. HELP.
  1. <?php
  2. <td>Sklad:</td>
  3. <td><select class='pole' name='sklad' size='$liczba_graczy' MULTIPLE>
  4.  ";
  5.  $query = mysql_query("Select * From user where stopien!='ulica' and stopien!='ban' and stopien!=''");
  6.  while($wynik=mysql_fetch_array($query)){
  7.  echo"<option class='pole'>".$wynik['nick']."</option>";}
  8.  
  9.  
  10.  echo"</select></td>
  11. ?>


/////////////////////////////
//DODANIE MECZU DO BD///////
///////////////////////////
  1. <?php
  2. elseif($_GET['dodaj'] == 2)
  3. { if ($_POST['temat'] && $_POST['mapa'] && $_POST['przeciwnik'] && $_POST['wynik_nasz'] && $_POST['wynik_wroga'] && $_POST['liga'] && $_POST['autor_rec'] && $_POST['recenzja'] && $_POST['stan'] && $_POST['tryb'] && $_POST['tag_wroga'] && $_POST['data'] && $_POST['sklad'])
  4. {
  5.  
  6.  
  7.  
  8. mysql_query("INSERT into mecze (temat, mapa, przeciwnik, wynik_nasz, wynik_wroga, liga, autor_rec, recenzja
    , stan, tryb, tag_wroga, data, sklad) VALUES ('"
    .$_POST[temat]."','".$_POST[mapa]."','".$_POST[przeciwnik]."','".$_POST[wynik_nasz]."','".$_POST[wynik_wroga]."','".$_POST[liga]."','".$_POST[autor_rec]."','".$_POST[recenzja]."','".$_POST[stan]."','".$_POST[tryb]."','".$_POST[tag_wroga]."','".$_POST[data]."','".$_POST[sklad]."')");
  9. }else{ echo"blad";}
  10. }
  11. ?>
nospor
Cytat
A pytanie oczywiste. Gdzie jest blad

Czy ty jakis quiz urządzasz czy oczekujesz pomocy? Jesli oczekujesz pomocy, to napisz laskawie czym objawia sie Twoj blad, czy dostajesz jakies errory lub cos podobnego.
Bo rozumiem ze ten kawalek kodu co tu pokazales to tylko wyrwana z kontekstu czesc?
php programmer
W sekcji php nie możesz napisać sobie tak poprostu tagów HTML, musisz ująć je w echo
  1. <?php
  2. echo '<td><b>ewtwtwtwt</b></td>';
  3. ?>
Green-sc
Cytat(nospor @ 4.11.2006, 16:51:23 ) *
Czy ty jakis quiz urządzasz czy oczekujesz pomocy? Jesli oczekujesz pomocy, to napisz laskawie czym objawia sie Twoj blad, czy dostajesz jakies errory lub cos podobnego.
Bo rozumiem ze ten kawalek kodu co tu pokazales to tylko wyrwana z kontekstu czesc?


Sory. Przejawia sie tym ze dodaje tylko ostatniego wybranego uzytkownika, reszta nie wiem czemu jest omijana.

Cytat(php programmer @ 4.11.2006, 17:01:34 ) *
W sekcji php nie możesz napisać sobie tak poprostu tagów HTML, musisz ująć je w echo
  1. <?php
  2. echo '<td><b>ewtwtwtwt</b></td>';
  3. ?>


echo jest tylko widac jego zakonczenie. 4 linijka.

To wie ktos jak to naprawic?
jarrod
MULTIPLE tworzy z selecta tablicę. Więc użyj tych danych jak tablicy:

  1. <?php
  2. foreach($_POST['sklad'] as $sklad)
  3. {
  4.  //tutaj zapytanie
  5. }
  6. ?>
Green-sc
w zapytaniu zamiast $_POST['sklad'] mam uzyc teraz $sklad?
jarrod
wewnątrz pętli - tak.
Green-sc
Kurcze cos mi nie chodzi. Mozesz wstawic mi to do skryptu? Bo za bardzo nie wiem chyba w ktorym miejscu.
jarrod
Cytat(Green-sc @ 5.11.2006, 00:40:49 ) *
Kurcze cos mi nie chodzi. Mozesz wstawic mi to do skryptu? Bo za bardzo nie wiem chyba w ktorym miejscu.

to może kup sobie książkę questionmark.gif Fakt -> jesteśmy na przedszolu. Ale nie sądzisz że to lekka przesada?
Zrób to zapytanie które robisz dodając nrekord ale wewnątrz pętli i zmień nazwę zmiennej. Tyle.
Green-sc
  1. <?php
  2. foreach($_POST['sklad'] as $sklad)
  3. {
  4.  
  5. mysql_query("INSERT into mecze (temat, mapa, przeciwnik, wynik_nasz, wynik_wroga, liga, autor_rec, recenzja
    , stan, tryb, tag_wroga, data, sklad) VALUES ('"
    .$_POST[temat]."','".$_POST[mapa]."','".$_POST[przeciwnik]."','".$_POST[wynik_nasz]."','".$_POST[wynik_wroga]."','".$_POST[liga]."','".$_POST[autor_rec]."','".$_POST[recenzja]."','".$_POST[stan]."','".$_POST[tryb]."','".$_POST[tag_wroga]."','".$_POST[data]."','$sklad')");
  6. }
  7. ?>

A wynik taki:
Cytat
Warning: Invalid argument supplied for foreach() in /users/www/green/public_html/ae/admin/mecz.php on line 88
nospor
zapomniano ci jeszcze powiedziec, ze jesli select ma zwrocic tablice, to oprócz multiple, select musi miec nazwe tablicową, czyli u ciebie:
....name='sklad[]'....
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.