Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php i sql] listaw rozwijana jak dobrze wyświetlić ?
wojtekwro
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 26.04.2007

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


witam,
tym razem może troche banalny problem mam, jak wyświetlić w postaci listy rozwijanej zawartość jednej kolumny w tabeli sql (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

zrobiłem to tak :

  1. <?php
  2.  
  3. $connection = @mysql_connect('localhost', 'root', '')
  4. or die('brak polaczenia z BD');
  5. $db = @mysql_select_db("audity")
  6. or die('Nie mogę połączyć się z bazą danych');
  7. /* zapytanie do konkretnej tabeli */
  8. $wynik = mysql_query("SELECT * FROM plan")
  9. or die('Błąd zapytania');
  10. $obszar['id']=$obszar;
  11. $obszar = $row["obszar"];
  12.  
  13. if(mysql_num_rows($wynik) > 0) {
  14. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  15. while($r = mysql_fetch_assoc($wynik)) {
  16. echo '<form action="...">
  17. <select name="nazwa">
  18. <option>'.$r['obszar'].'';
  19. echo'</option>
  20. </select></form>';
  21. }
  22. }
  23. ?>


efektem tego jest to, że mam kilka list rozwiajnych jednopozycyjnych ;/ dodatkowo zostanie wprowadzony warunek jeżeli dla pierwego wiersza w polu "plan" jest 1 to nei wyświetla zawartośi wiersza 1 z kolumny obszar ;]

co powinienem poprawić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sniezny_wilk
post
Post #2





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Witam,

przygotowałem dla Ciebie taki kodzik:
  1. <?php
  2.  
  3. $connection = @mysql_connect('localhost', 'user', 'pass')or die('brak polaczenia z BD');
  4. $db = @mysql_select_db( "db_name" ) or die ('Nie mogę połączyć się z bazą danych');
  5.  
  6. /* zapytanie do konkretnej tabeli */
  7. $wynik = mysql_query("SELECT * FROM tabela")or die('Błąd zapytania');
  8.  
  9. if( mysql_num_rows( $wynik ) > 0) 
  10. {
  11. /* najpierw inicjujemy początek znaczników <form>, bo inaczej będą się w pentli wywyoływały, to samo z <select> */
  12. echo '<form action="index.php" method="post">';
  13. echo '<select name="nazwa">';
  14.  /* Ja używam mysql_fetch_array() - zwraca wiersze spełniające zapytanie*/
  15. while ( $row = mysql_fetch_array( $wynik ) )
  16. {
  17. /* tutaj same elementy wyświetlane w polu select, czyli..*/
  18. /* "pole" to oczywiście nazwa kolumny do jakiej chcesz się odwołać*/
  19.  
  20. echo '<option>'.$row["pole"].'</option>';
  21.  
  22. }
  23. /*na końcu zamykamy tagi*/
  24. echo '</select></form>';
  25. }
  26.  
  27. ?>


enjoy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


Cytat(kossa @ 29.05.2007, 12:33:30 ) *
Select poza pętle while bo teraz to masz formularzy tyle ile rekordów.

  1. <?php
  2. echo '<form action="..."> <select name="nazwa">";
  3.  
  4. while($r = mysql_fetch_assoc($wynik)) 
  5. {
  6. echo "<option>'.$r['obszar'].''</option>";
  7. }
  8. echo "</select></form>";
  9. ?>


Łukasz

edit:
popraw średniki i cudzysłowia bo masz namieszane...


Heheh kossa Ty też ładnie namieszałeś z cudzysłowiami.. Popatrz na pierwsze echo (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 07:26