Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wartość edytowana w polu listy jako domyślna???
Forum PHP.pl > Forum > Bazy danych > MySQL
szpula
Na stronie widać auto id i marka_nazwa. Gdy klikam edytuj wyświetla mi się rozwijane pole listy ze wszystkimi markami jakie są w tabeli marka, ale domyslnie jest zawsze pierwsza marka z tabeli marka, a chcialbym zeby byla domyslna ta marka która wybralem do edycji.

tabele: auta: auto_id, auto_marka_id
marka: marka_id, marka_nazwa

[php:1:1a1686a379]<?php
<?php
function edit_auta($auto_id)
{

w zapytaniu pobierzemy również auto_marka_id
$r = mysql_query("SELECT auto_id , marka_nazwa, auto_marka_id , WHERE marka_id=auto_marka_id and auto_id = $auto_id") or die("error: auta.php -
edit_auta");
$a = mysql_fetch_array($r);
echo '<form action="auta.php" method="get">';
echo '<input type="hidden" name="action" value="post_edit">';
echo '<input type="hidden" name="auto_id" value="'.$a["auto_id"].'">';
echo '<table width="320" align="center">';

echo '<tr>';
echo '<td width="60">Marka</td>';
// tutaj dodamy select ze wszystkimi markami z tabeli marka
echo '<td width="260"><select name="auto_marka_id">';
$r2 = mysql_query("SELECT * FROM marka") or die("error: auta.php - edit_auta");
?>[/php:1:1a1686a379]

No i tu chyba gdzieś jest blad...?

[php:1:1a1686a379]<?php
while($a2 = mysql_fetch_array($r2))
{
if($a2['marka_id']==$a['auto_marka_id']) // tutaj sprawdzamy, czy dana marka
// w selekcie jest aktualnie przypisana do danego auta marka i jesli tak, to ta
// pozycja będzie domyślnie zaznaczona

{
echo '<option value="'.$a2['marka_id'].'"
checked>'.$a2['marka_nazwa'].'</option>';
}
else
{
echo '<option value="'.$a2['marka_id'].'">'.$a2['marka_nazwa'].'</option>';
}
}
echo '</select></td></tr>';
?>[/php:1:1a1686a379]
lukaswoj
Błędem jest użycie słowa "checked" - o ile przy checkbox'ach tak powinno być o tyle w option'sach smile.gif powinno być słowo "selected"
szpula
niestety dalej nie dziala:(
lukaswoj
Niemożliwe, musi działać.

Sprawdź źródło strony, która ci się wyświetla, jeśli jest tam w jednym z option'sów słowo selected i ta pozycja nie jest domyślnie wybrana to sie poddam oficjalnie smile.gif
Liko
To "wyprintuj" ten kod w pętli jako tekst, a nie jako forumlarz i zobacz czy wogóle następuje równość pomiedzy tymi dwoma zmiennymi.
szpula
w źródle nie ma żadnego pola selected
Liko
[php:1:94d2a50374]<?php
while($a2 = mysql_fetch_array($r2))
{
if($a2['marka_id']==$a['auto_marka_id']) // tutaj sprawdzamy, czy dana marka
// w selekcie jest aktualnie przypisana do danego auta marka i jesli tak, to ta
// pozycja będzie domyślnie zaznaczona

{
echo '<option value="'.$a2['marka_id'].'" selected>'.$a2['marka_nazwa'].'</option>';
}
else
{
echo '<option value="'.$a2['marka_id'].'">'.$a2['marka_nazwa'].'</option>';
}
}
echo '</select></td></tr>';
?>
[/php:1:94d2a50374]

I tak jak napisałem wcześniej wyprintuj wartości zmiennych i zobacz czy wogóle kiedyś zachodzi równość.
szpula
o to mi wlasnie chodzilo. dzieki bardzo.dziala bez zarzutu:)
Liko
Cytat
Błędem jest użycie słowa "checked" - o ile przy checkbox'ach tak powinno być o tyle w option'sach smile.gif powinno być słowo "selected"


@Szpula: Ty się naucz czytać bo lukaswoj napisał Ci dokładnie to co ja tylko ja Ci to wstawiłem w kod więc następnym razem czytaj uważnie kod. Daj punkcik lukasowi :!:
szpula
wpisalem na poczatku selected zamiast checked jak lukas napisal, ale wtedy cos mi jeszcze nie dzialalo , mialem gdzie indziej blad.
dzieki!
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.