Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz
Forum PHP.pl > Forum > Przedszkole
daros17
Cześć

Kod formularz.html
  1. <tr bgcolor=#cccccc>
  2. <td width="100">Produkt</td>
  3. <td width="30">Ilosc</td>
  4. <td width="30">Rozmiar</td>
  5. <td width="30">Nazwa</td>
  6. <td width="30">Promocja</td>
  7. </tr>
  8. <tr>
  9. <td>Pizza</td>
  10.  
  11. <td align="left"><input type="text" name="ilosc" size="5" maxlength="5" /></td>
  12.  
  13. </td>
  14. <td>
  15. <select name="rozmiar">
  16. <option value=""></option>
  17. <option value="C">Cienka(32cm)</option>
  18. <option value="G">Gruba(32cm)</option>
  19. <option value="D">Duża (40cm)</option>
  20.  
  21. </select>
  22. </td>
  23.  
  24. <td>
  25. <select name="nazwa">
  26. <option value=""></option>
  27. <option value="1">Margherita</option>
  28. <option value="Vesuvio">Vesuvio</option>


Chciałbym zrobić aby zamiast ręcznego wpisywania w formularzu danych pokazywały mi się te które zostały zapisane w bazie. Czyli np mam w bazie danych kolumnę nazwa i w niej kilka nazw pizz. Czyli po wybraniu kolumny w formularzu nazwa pizzy wyświetlają mi się wszystkie nazwy pizz które są w bazie.

Zrobiłbym to tak, ale nie wiem czy jest to poprawnie.

Jeśli value ma np 1 to będzie pokazywać rekord 1, tylko co wtedy wpisać w miejsce kropek <option value="">....</option>
Oczywiście na górze kod php z pobieraniem danych z bazy czy takie coś ma sens?
ciekawskiii
tez sie kiedys z tym meczylem i rozwiazalem to tak:

  1. <option <?php if($zmienna == "1") { echo 'selected'; }else{ echo ''; } ?> value="1">1</option>
  2. <option <?php if($zmienna == "2") { echo 'selected'; }else{ echo ''; } ?> value="2">2</option>


ale pewnie sa lepsze sposoby:P
daros17
No tak, ale value="1">1</option> pomiędzy value="1">i tutaj jest 1</option> a chodzi mi o to abym tego nie wpisywał tylko pojawiało się automatycznie z bazy
ciekawskiii
no to zamiast 1, dajesz tam zmienna:S
daros17
czyli
  1. <option <?php if($zmienna == "1") { echo 'selected'; }else{ echo ''; } ?> value="1"><?php echo $zmienna; ?></option>


wówczas do zmiennej $zmienna odwołuje się do bazy?
pcuryllo
  1. try
  2. {
  3. $pdo = new PDO('mysql:host=localhost;dbname=pizza_db', 'root', 'password');
  4. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  5.  
  6. $stmt = $pdo -> query('SELECT id, nazwa FROM pizza_table');
  7. echo ' <select name="pizza"> ';
  8. echo ' <option value=""></option>';
  9.  
  10. foreach($stmt as $row)
  11. {
  12. echo '<option>'.$row['nazwa'].'</option>';
  13. }
  14. $stmt -> closeCursor();
  15. echo '</select>';
  16. }
  17. catch(PDOException $e)
  18. {
  19. echo '! Connection error ' . $e->getMessage();
  20. }
ciekawskiii
cos w tym stylu, zalezy jak ten formularz ma dzialac itd ale to juz sam sobie pokombinuj
Soulast
  1. $sql=mysql_query("SELECT id,nazwa FROM twoja_tabela ORDER BY id");
  2. while(list($id,$nazwa)=mysql_fetch_row($sql)){
  3.  
  4. $lista="<option value='$id'>$nazwa</option>";
  5.  
  6. }
  7.  
  8. $sql2=mysql_query("SELECT id,nazwa FROM twoja_tabela2 ORDER BY id");
  9. while(list($id,$nazwa)=mysql_fetch_row($sql2)){
  10.  
  11. $lista2="<option value='$id'>$nazwa</option>";
  12.  
  13. }
  14.  
  15. <tr bgcolor=#cccccc>
  16. <td width="100">Produkt</td>
  17. <td width="30">Ilosc</td>
  18. <td width="30">Rozmiar</td>
  19. <td width="30">Nazwa</td>
  20. <td width="30">Promocja</td>
  21. </tr>
  22. <tr>
  23. <td>Pizza</td>
  24.  
  25. <td align="left"><input type="text" name="ilosc" size="5" maxlength="5" /></td>
  26.  
  27. </td>
  28. <td>
  29. <select name="rozmiar">$lista</select>
  30. </td>
  31.  
  32. <td>
  33. <center>
  34. <select name="nazwa">$lista2</select>


O ilę dobrze rozumuję to czego szukasz winksmiley.jpg
daros17
mam taki kod:
  1.  
  2. $connection = @mysql_connect('localhost', 'darosweb_xxx', '1234');
  3. $db = @mysql_select_db('darosweb_xxx', $connection);
  4.  
  5. $sql=mysql_query("SELECT id,nazwa FROM users ORDER BY id");
  6. $wynik = mysql_query($sql,$connection);
  7. while(list($id,$nazwa)=mysql_fetch_row($sql)){
  8.  
  9. $lista="<option value='$id'>$nazwa</option>";
  10.  
  11. }
  12.  
  13.  
  14. <tr bgcolor=#cccccc>
  15. <td width="100">Produkt</td>
  16. <td width="30">Ilosc</td>
  17. <td width="30">Rozmiar</td>
  18. <td width="30">Nazwa</td>
  19. <td width="30">Promocja</td>
  20. </tr>
  21. <tr>
  22. <td>Pizza</td>
  23.  
  24. <td align="left"><input type="text" name="ilosc" size="5" maxlength="5" /></td>
  25.  
  26. </td>
  27. <td>
  28. <select name="rozmiar">$lista</select>
  29. </td>
  30.  
  31. <td>
  32. <center>
  33. <select name="nazwa">$lista2</select>
  34.  


wywala błąd Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in jaki jest błąd?
markonix
Najczęściej oznacza to błąd w zapytaniu.
Dodaj or die(mysql_error()) po zapytaniu aby wyświetlić błąd SQLa.
daros17
Dzięki za pomoc już prawie działa...
Mieszałem w tej tabeli i usunąłem kolumnę nazwa....

w html poprawiłem na tak:
  1. <select name="nazwa"><?php echo $lista ?></select>


i pokazuje mi z kolumny login jedynie 1 rekord z 2 co ciekawe pokazuje ten drugi. Czy trzeba dorzucić pętlę, aby wyświetlało wszystkie obiekty z kolumny nazwa?
Soulast
Cytat(daros17 @ 9.11.2010, 22:04:57 ) *
Dzięki za pomoc już prawie działa...
Mieszałem w tej tabeli i usunąłem kolumnę nazwa....

w html poprawiłem na tak:
  1. <select name="nazwa"><?php echo $lista ?></select>


i pokazuje mi z kolumny login jedynie 1 rekord z 2 co ciekawe pokazuje ten drugi. Czy trzeba dorzucić pętlę, aby wyświetlało wszystkie obiekty z kolumny nazwa?


Wybacz trochę się zagalopowałem.
A dokładnie zapomniałem o kropce dodaj ją zaraz za $lista coś ala:

  1. $lista.="<option value='$id'>$nazwa</option>";


I w ten oto sposób powinno wyświetlić Tobie całą kolumne
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.