Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rozwijane menu
Forum PHP.pl > Forum > Bazy danych > MySQL
Lonas
Cześc, mam pytanie jak zrobić rozwijane menu w którym będą rekordy z jakiejś kolumny tabeli ?
Z góry dzieki
Sabistik
W czym problem ?
Wyciagasz rekordy z tabeli i w wrzucasz do <select>
w petli
<option> rekord
Lonas
Kod
<select name="select">
  <option>rekord 1</option>
</select>


i gdzie dołozyć zapytanie do bazy ?,
Jeśli dam np
  1. SELECT
  2. FROM produkty
pokaże mi wszytkie produkty i teraz jak je wrzucić w options ? Jeśli możesz to pokaż mi przykładowe zapytanie z rozwijanym menu.

Mozliwe że to proste pytania ale dopiero zaczynam, z góry dzięki
AxZx
  1. <?php
  2. $zapytanie = ....
  3. echo "<select>";
  4. while($dane = $zapytanie.....){
  5.  echo "<option>$dane[0]</option>";
  6. }
  7. echo "</select>";
  8.  
  9.  
  10. ?>


cos takiego to bedzie
nie wiem w jaki sposob wyciagasz dane z bazy
pocwiczyc pobieranie i wyswietlanie danych z bazy
Lonas
Kombinuje i kombinuje i nic smile.gif
Oto kod który wyświetla mi produkty z bazy danych

  1. <?
  2. @$db = mysql_pconnect("localhost", "root");
  3. if (!$db)
  4. {  
  5. print "wystąpił błąd w połączeniu";  
  6. exit;
  7. }
  8.  
  9. mysql_select_db("faktura"); 
  10.  
  11.  
  12.  
  13. $query = "select produkt 
  14. from produkty";
  15.  $result = mysql_query($query);
  16. $num_results = mysql_num_rows($result);
  17.  
  18. print "<p>Ilość produktów w bazie danych: ".$num_results."</p>";
  19. for ($i=0; $i <$num_results; $i++) {
  20. $row = mysql_fetch_array($result);
  21. print ($i+1).". ";  
  22. print stripslashes($row["produkt"]);
  23. print "<br>";
  24. }
  25. ?>


poprawiam
---
nospor




teraz walcze z select.. próbowałem już na milion sposów, nie wychodzi akutalnie mam coś takiego i postanowiłem się poradzić

  1. <?
  2. @$db = mysql_pconnect("localhost", "root");
  3. if (!$db)  
  4.     {     
  5.     print "wystąpił błąd w połączeniu";     
  6.     exit;  
  7.     }  
  8.  
  9. mysql_select_db("faktura"); 
  10.  
  11.  
  12. $query = "select produkt from produkty";
  13. $result = mysql_query($query); 
  14.  
  15.  
  16. echo "<select>";
  17. while($dane = mysql_fetch_array($result));{
  18.  echo "<option>$dane[0]</option>";
  19. }
  20. echo "</select>";
  21.  
  22.  
  23. ?>
nospor
zaraz po while podales ; , przez co while zawiera jedną pustą instrukcje i nic wiecej smile.gif
powinno byc:
  1. <?php
  2.  
  3. //...
  4. while($dane = mysql_fetch_array($result)){
  5.  echo '<option>'.$dane[0].'</option>';
  6. }
  7. //.....
  8.  
  9. ?>
Lonas
świetnie, dziękuje,

Mam następny problem mianowicie :
Jak najlepiej wykonać żeby każda faktura miała własny numer,
np data i automatycznie nadawany kolejny numer

15/11/05/FV1

Jeśli może mnie ktoś nakierować gdzie grzebać będę wdzięczny,
z góry dziękuje
lenczewski
Panie Leonardzie czy nie wystarczy opcja auto_increnement dla tego pola (id_faktura)? ...dla daty można domyślnie ustawić `NOW` (przy pomijaniu jej we wpisywaniu do tabeli zostanie wpisana aktualna data).

Przy ty co chcesz wstawić to:

  1. <?php
  2.  
  3.  
  4. SELECT sn_faktury FROM faktury ORDER BY sn_faktury LIMIT 1;
  5. ....
  6.  
  7. $tmp = explode("/", $twoj_ostatni_rekord);
  8. $l_numer = substr($tmp[3], 2);
  9. $l_numer++;
  10.  
  11. $wstaw = date('Y/m/d') . "FV". $l_numer;
  12.  
  13.  
  14. ?>


dla mnie za bardzo zamotane, pewnie można lepiej
Plastek
Witam, mam takie pytanie, czy można wysyłać z pola "select" formularza pobieranego z bazy jednocześnie dwa rodzaje danych $dane[Rejon]' i $dane[Nazwa] zależy mi żeby je wstawiać do różnych tabel bazy
  1. <?php
  2. $polaczenie1 = odbc_connect('profile', 'projektant', 'sosNa');
  3. $rejonRad = "SELECT * FROM Rejon_Radom";
  4. $wynik3=odbc_exec($polaczenie1,$rejonRad);
  5. #odbc_result_all($wynik);
  6.  
  7. print "<select name='rejon' id='idRad' style='display:'>";
  8. print "<option></option>";
  9. while ($dane = odbc_fetch_array($wynik3)){
  10.  print "<option value='$dane[Rejon]'>$dane[Nazwa]</option>";
  11. }
  12. print "</select>";
  13. ?>
nospor
select wysyla tylko wartosc z value danej opcji. Ale mozna to malym przekretem zrobic. Do value wkaldasz obie wartosci oddzielone np srednikiem. Potem je odbierasz i rozbijasz na dwie wartosci
Plastek
Dzięki, dobry pomysł tak zrobiłem smile.gif
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.