Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] pole select, pobieranie danych, z rozbudowywanej tabeli
em-ba
post
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


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..... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No, dodawanie opcji przez pętle masz opanowane, to zrób identycznie, ale dane wyciągaj właśnie z bazy, odpowiednim zapytaniem. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

<pseudoKod>dane = wyciagnijRekordyZBazy;
dlaKazdego(dane)
wyświetlPozycję(dane[wartosc]);
</pseudoKod>
Go to the top of the page
+Quote Post
em-ba
post
Post #3





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


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 :/

Ten post edytował em-ba 22.11.2008, 21:18:24
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No normalnie przecież. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Zamiast <input value="" /> masz <option value="">asdjdhaksd</option>. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
em-ba
post
Post #5





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


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...(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

<label for="warzywa">warzywa:</label>
<input id="warzywa" name="warzywa" class="text" type="text" value="'.$dane['warzywa'].'" />

Ten post edytował em-ba 22.11.2008, 21:39:41
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No tak samo, jak z tablicy... Potraktuj tu wynik z bazy jak tamtą tablicę. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
em-ba
post
Post #7





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


czyli coś takiego.....(IMG:http://forum.php.pl/style_emoticons/default/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. ?>


Ten post edytował em-ba 22.11.2008, 22:12:35
Go to the top of the page
+Quote Post
Lion_87
post
Post #8





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Cytat
zmieniłem, ale nie wiem co podać dla $dane


a dokładnie?
Go to the top of the page
+Quote Post
em-ba
post
Post #9





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


..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. ?>
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Patrz na przykład tu: mysql_query" title="Zobacz w manualu PHP" target="_manual.

Masz jak byk napisane w manualu, w przykładach.
Go to the top of the page
+Quote Post
Lion_87
post
Post #11





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


no ok pobierasz tą swoją kolumne "warzywa" liczysz ile jest wierszy w bazie i tyle razy robisz pętle.
Go to the top of the page
+Quote Post
em-ba
post
Post #12





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


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
Go to the top of the page
+Quote Post
Lion_87
post
Post #13





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


no przecież wyświetli tyle ile w bazie aktualnie sie znajduje.... Czemu miało by nie wyświetlić?
Go to the top of the page
+Quote Post
em-ba
post
Post #14





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


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. ?>
Go to the top of the page
+Quote Post
Lion_87
post
Post #15





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


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>


Ten post edytował Lion_87 22.11.2008, 23:01:22
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.09.2025 - 22:04