Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] pole select, pobieranie danych
Forum PHP.pl > Forum > Przedszkole
em-ba
Witam, mam taki skrypt, który wykorzystywałem w formularzach - tzn.. pobierałem do formularza dane z bazy danych..
Dane miałem 3 opcje (wybierane z pola select) zdefiniowane w samym skrypcie..
Mój problem polega na tym, że nie wiem w jaki sposób mogę wyciągać dane z bazy danych ale na takiej zasadzie:
W bazie danych dodaje rekordy z nr id.. i teraz chodzi mnie o to, żeby w formularzu można było sobie wybrać z pola select nr id z tabeli bazy danych ale zeby tych numerów ciągle przybywało w zależności od tego ile jest nr id w bazie

np.
mam w bazie 2 rekordy
id 1 .....
id 2 .....

no więc moge z pola select wybrać sobie 1 lub 2

chodzi o to, że teraz jak dodam do bazy trzeci rekord, to
id 1 .....
id 2 .....
id 3 .....

i wówczas mógłbym wybrać z pola select 1, 2 lub 3

  1. <?php
  2. <div>
  3.                  <label for="warzywa">warzywa:</label>
  4.                   <select name="warzywa">
  5.                <option value=0>-- -- -- wybierz -- -- -- </option>
  6.                <option value="1">marchewka</option>
  7.                                <option value="2">cebula</option>
  8.                                <option value="3">burak</option>
  9.                                <option value="4">ogórek</option>
  10.                                <option value="5">seler</option>
  11.            </select>
  12.                </div>
  13. ?>

  1. <?php
  2. <div>
  3.                  <label for="warzywa">warzywa:</label>
  4.                   <select name="warzywa">';                      
  5.              
  6. $value = $dane['warzywa'];
  7.  
  8. $array = array("","marchewka","cebula","burak","ogórek","seler");
  9.  
  10.  
  11. $end = count($array);
  12.  
  13. for($i=0; $i<$end;$i++){
  14.      if($value != $i){
  15.            echo '<option value="'.$i.'">'.$array[$i].'</option>';
  16.      }
  17.      else{
  18.            echo '<option value="'.$i.'" selected="selected">'.$array[$i].'</option>;
  19.      }
  20. }
  21.  
  22.             </select>
  23.                </div>
  24. ?>


wiem, że troszkę zagmatwałem ale będę wdzięczny za pomoc..... smile.gif
erix
No, dodawanie opcji przez pętle masz opanowane, to zrób identycznie, ale dane wyciągaj właśnie z bazy, odpowiednim zapytaniem. winksmiley.jpg

<pseudoKod>dane = wyciagnijRekordyZBazy;
dlaKazdego(dane)
wyświetlPozycję(dane[wartosc]);
</pseudoKod>
em-ba
próbuje i nie mogę dojść do tego..



jak pobrać dane z bazy do pola typu text wiem.... czy jak pobrać do selecta z tablicy,
ale jak pobrać dane z bazy do selecta..... nie wiem :/
erix
No normalnie przecież. smile.gif

Zamiast <input value="" /> masz <option value="">asdjdhaksd</option>. smile.gif
em-ba
no tak.. ale tak to chyba moge pobierać z tablicy..
<option value="1">marchewka</option>
<option value="2">cebula</option>

a jak wyciagnać te dane z bazy...questionmark.gif

<label for="warzywa">warzywa:</label>
<input id="warzywa" name="warzywa" class="text" type="text" value="'.$dane['warzywa'].'" />
erix
No tak samo, jak z tablicy... Potraktuj tu wynik z bazy jak tamtą tablicę. tongue.gif
em-ba
czyli coś takiego.....questionmark.gif zmieniłem, ale nie wiem co podać dla $dane

  1. <?php
  2. <div>
  3.                  <label for="warzywa">warzywa:</label>
  4.                   <select name="warzywa">';
  5.  
  6.  
  7.        $value = $dane['warzywa'];
  8.  
  9.  
  10.        $dane = ;
  11.  
  12.  
  13.        $end = count($array);
  14.  
  15.        for($i=0; $i<$end;$i++){
  16.              if($value != $i){
  17.                    echo '<option value="'.$i.'">'.$dane['warzywa'].'</option>';
  18.              }
  19.              else{
  20.                    echo '<option value="'.$i.'" selected="selected">'.$dane['warzywa'].'</option>';
  21.              }
  22.        }
  23.  
  24.        echo'
  25.        </select>
  26.                </div>
  27. ?>
Lion_87
Cytat
zmieniłem, ale nie wiem co podać dla $dane


a dokładnie?
em-ba
..nie wiem co mam podstawić zamiast tablicy......
wcześniej wybierane opcje znajdowały sie w tablicy, a teraz potrzebuje zeby były wybierane z bazy..
mam zapytanie do bazy - zeby pobierało dane ale to jest na początku skryptu

  1. <?php
  2. $dn = mysql_query("SELECT * FROM `wra` WHERE id = '".$numer."' ");
  3. $dane = mysql_fetch_array($dn);
  4. ?>
erix
Patrz na przykład tu: mysql_query" title="Zobacz w manualu PHP" target="_manual.

Masz jak byk napisane w manualu, w przykładach.
Lion_87
no ok pobierasz tą swoją kolumne "warzywa" liczysz ile jest wierszy w bazie i tyle razy robisz pętle.
em-ba
wiersze w tej tablei są ciągle dodawane.. wiec jak teraz podam, ze sa np.3 to jak dodam nastepny to juz mi 4-ego nie wyswietli....
a mnie chodzi o to ze w tym polu select wyswietlało mi tyle opcji wyboru ile sie aktualnie znajduje w tabeli wierszy
Lion_87
no przecież wyświetli tyle ile w bazie aktualnie sie znajduje.... Czemu miało by nie wyświetlić?
em-ba
czy to jest poprawne??
  1. <?php
  2. <div>
  3.                  <label for="warzywa">warzywa:</label>
  4.                   <select name="warzywa">';
  5.  
  6.  
  7.        $value = $dane['warzywa'];
  8.  
  9.  
  10.        $end = count($value);
  11.  
  12.        for($i=0; $i<$end;$i++){
  13.              if($value != $i){
  14.                    echo '<option value="'.$i.'">'.$dane['warzywa'].'</option>';
  15.              }
  16.              else{
  17.                    echo '<option value="'.$i.'" selected="selected">'.$dane['warzywa'].'</option>';
  18.              }
  19.        }
  20.  
  21.        echo'
  22.        </select>
  23.                </div>
  24. ?>
Lion_87
jak juz to tak

  1. <div>
  2. <label for="warzywa">warzywa:</label>
  3. <select name="warzywa">
  4. <?
  5.  
  6. $zapytanie = "";
  7.   $wynik = mysql_query($zapytanie);
  8.    $ilosc = mysql_num_rows($wynik);
  9.  
  10. for($i=0; $i<$ilosc;$i++){
  11.    $dane = mysql_fetch_array($wynik);
  12.    $value = $dane['warzywa'];
  13.     echo '<option value="'.$value.'">'.$value.'</option>';
  14. }
  15. ?>
  16. </select>
  17. </div>
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.