Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] - select i pobierane dane
Forum PHP.pl > Forum > Przedszkole
krzyzaq
witajcie
klepie ostatnio stronke w php i zmuszony bylem zrobic formularz, ktory jest generowany dynamicznie.
Niestety nie potrafie wyciagnac danych wprowadzonych do wszystkich pol opcjii i wszystkich pol tekstowych. W php do zmiennej zapisuje mi tylko ostatnie pola. Oto kod:
- generowanie formularza:

Kod
$linesQty = $_POST['ilosc'];
              $wynik = PobierzDane($wariant, $sort);
              $opcja = mssql_fetch_row($wynik);
              function DisplayCompanyInForm($query, $line){
                  $wynik = $query;
                  $opcja = $line;
              ?>
   //miejsce gdzie uzytkownik wybiera firme i ilosc produktow do wprowadzenia
              <FORM ACTION="" METHOD="POST">
                  <SELECT NAME="Firma">
                      <?
                          for ($i = 0, $j = mssql_num_rows($wynik); $i < $j; $i++){
                              echo "<OPTION>".$opcja[1];
                              $opcja = mssql_fetch_row($wynik);
                          }
                  ?>                
                  </SELECT>
                  Il. Poz.: <INPUT TYPE="TEXT" NAME="ilosc" SIZE="1">
                  <input type="submit" value="OK">
              </FORM>
              <?
              }
              if ($linesQty == 0)
              {
                  DisplayCompanyInForm($wynik, $opcja);
              }
              else {
                  if($linesQty != 0){
                  ?>
  //formularz w ktorym wpisuje produkty do zpisania w bd, niestety przesyla dane tylko ostatniej linii gdy wiecej niz 1.
                      <FORM ACTION="" METHOD="POST">
                      <?
                      for ($i = 0; $i < $linesQty; $i++){
                          echo "<SELECT NAME=Type>";
                                  $qryMix = "SELECT * FROM T_MIX ORDER BY Name";
                                  $tmp = mssql_query($qryMix);
                                  $qryMixRes = mssql_fetch_row($tmp);
                                  for($j = 0, $k = mssql_num_rows($tmp); $j < $k; $j++){
                                      echo "<OPTION NAME=poz".$i.">".$qryMixRes[1];
                                      $qryMixRes = mssql_fetch_row($tmp);
                                  }
                          echo "</SELECT>";    
                          
                          echo "\tNumer seryjny: <INPUT TYPE=TEXT NAME=SerialNo SIZE=20><BR>";
                          
                      }
                  ?>
                          <input type="submit" value="Zapisz">
                      </FORM>


dzieki wielkie z gory za pomoc i uwagi bo pewnie troche ich bedzie
webdice
Proszę o poprawienie tytułu tematu, same tagi to nie tytuł.
krzyszbi
  1. <?
  2.  for ($i = 0; $i < $linesQty; $i++){
  3.  echo '<SELECT NAME="Type[]">';
  4.  $qryMix = 'SELECT * FROM T_MIX ORDER BY Name';
  5.  $tmp = mssql_query($qryMix);
  6.  $qryMixRes = mssql_fetch_row($tmp);
  7.  for($j = 0, $k = mssql_num_rows($tmp); $j < $k; $j++){
  8.  echo '<OPTION NAME="poz'.$i.'">'.$qryMixRes[1];
  9.  $qryMixRes = mssql_fetch_row($tmp);
  10.  }
  11.  echo '</SELECT>';
  12.  
  13.  echo "\t".'Numer seryjny: <INPUT TYPE="TEXT" NAME="SerialNo[]" SIZE="20"><BR>';
  14.  
  15.  }
  16.  echo'<input type="submit" value="Zapisz">'
  17. ?>


później poprzez
  1. <?php
  2. echo print_r($_POST,1);
  3. ?>

zobacz w jakiej postaci dostajesz wynik i sobie popraw

p.s. poczytaj też o różnicy między " a '
krzyzaq
fajna tablica,

o coś takiego właśnie mi chodziło.

dzięki wielkie.

jeszcze jedno pytanie - jak się dobrać do jej elementów, tzn. jak przypisać teraz konkretne pola tablicy zmiennym?

pozdr.
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.