Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Lista rozwijana + wartość domyślna
czacha_5
post 7.07.2010, 21:38:57
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 7.07.2010

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


Witam.

Wyciagam z bazy dane przy pomocy listy rozwijanej.
Ale jak dal tej listy przy odpaleniu strony nadac konkretna jedna wazrtosc z bazy (listy)questionmark.gif?

np w bazie mamy:

111
222
333

a przy odpaleniu strony zeby domyslnie bylo ustawione na 333 questionmark.gif?

Kod do tego:

$zapytanie1='SELECT * FROM rodzaje';
$wynik1 = mysql_query ($zapytanie1) or die ("blad w pytaniu");

$liczba_rekordow1=mysql_num_rows($wynik1);

echo "<SELECT name=\"rodzaje\">";

// dodatkowa pusta linia
//echo "<OPTION VALUE=\"\"><br>";

for($i=0;$i<$liczba_rekordow1;$i++)
{
$wiersz1=mysql_fetch_array($wynik1);
$nazwa_rodz=$wiersz1['nazwa_rodz'];
$id_rodzaje=$wiersz1['id_RODZAJE'];
echo "<OPTION VALUE=\"$id_rodzaje\"> $nazwa_rodz</OPTION>";
}

echo '</SELECT>';
Go to the top of the page
+Quote Post
kapuch
post 7.07.2010, 21:59:33
Post #2





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


<option SELECTED.....
wstawisz przy pomocy php tam, gdzie mac byc jako domyslne.
Poza tym jak patrze, w jaki sposob wyciagasz dane z bazy to @facepalm.
Po co uzywasz for skoro masz while (nie musisz pobierac ilosci rekordow)?
  1. while($dane = mysql_fetch_array($wynik1))
  2. {
  3. echo '<OPTION VALUE="'.$dane['id_RODZAJE'].'">'.$dane['nazwa_RODZAJE'].'</OPTION>';
  4. }
  5. // chyba wyglada lepiej?
  6. // a to ponizej wywal:
  7. $liczba_rekordow1=mysql_num_rows($wynik1);

A teraz jesli chcesz aby dane pole bylo domyslnym, to najlepiej dodaj do bazy dodatkowa kolumne o nazwie domyslne i tam np ustawiasz TAK albo NIE.
A pozniej podczas wyciagania z bazy robisz takie cos:
  1. while($dane = mysql_fetch_array($wynik1))
  2. {
  3. if($dane['domyslne']=="TAK") { $default = "SELECTED"; } else { $default = ""; }
  4. echo '<OPTION '.$default.' VALUE="'.$dane['id_RODZAJE'].'">'.$dane['nazwa_RODZAJE'].'</OPTION>';
  5. }
  6. // mozna to zrobic na kilka sposobow, np mozesz w samej bazie dodawac wpisy SELECTED zamiast TAK/NIE i odrazu,
  7. // bez IF'a wstawiac do optiona - tak:
  8. while($dane = mysql_fetch_array($wynik1))
  9. {
  10. echo '<OPTION '.$dane['domyslne'].' VALUE="'.$dane['id_RODZAJE'].'">'.$dane['nazwa_RODZAJE'].'</OPTION>';
  11. }


Ten post edytował kapuch 7.07.2010, 22:21:50


--------------------
Nie chce "Pomógł", aktualna ilość (69) w pełni mnie satysfakcjonuje :)
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 21.06.2025 - 16:15