Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP i MYSQL] edycja
Forum PHP.pl > Forum > Przedszkole
marmot106
Witam, prosze o pomoc mianowicie; mam pewen problem do rozwiązania, przy edycji danych, belka nie wybiera sie wczesniej wybrana pozycja tylko wartość pusta, chcoc zapytanie do bazy jest OK. bo pozycje sie wyswitlają;

  1. <tr><td align="right" bgcolor="FFCC66"><label>Trasa:</td><td>
  2. <select name="id_trasa" class="textbox" style="width: 160px">
  3. <option value=""></option>
  4. <?php
  5. $zapytanie2 = "SELECT id_trasa, nazwa_trasy FROM trasa";
  6. $wynik = mysql_query($zapytanie2);
  7. while ($dane = mysql_fetch_array($wynik)) {
  8. echo '<option value="'.$dane['id_trasa'].'">'.$dane['nazwa_trasy'].'</option>'."\r\n";
  9. }
  10. ?>
  11. </select>
  12. </td></tr>




adbacz
Nie zaznacza się, ponieważ nie pobierasz nigdzie w skrypcie aktualnie wybranej wartości, a tym bardziej nie widzę w kodzie nigdzie atrybutu dla OPTION, który mówi, że ta opcja ma być zaznaczona (selected="selected"), więc domyślnie zawsze włączy się pierwsza opcja.
nospor
Nigdzie w kodzie nie widzę, byś zaznaczał którąś z opcji.... Czemu więc się dziwisz, ze domyslnie zaznacza się pierwsza opcja, ktora akurat jest pusta?
marmot106
można prośic o przykład

chodzi o : <option value=></option> tu musze zmienic ?
Turson
Ale gdzie masz zapisaną pozycję, którą chcesz wybrać?
marmot106
echo $row['nazwisko'];
Turson
Nazwiskio dopasowujesz do nazwy trasy? :/
marmot106
można prośic o przykład, jak to zrobić ?
adbacz
Gdzie zapisujesz dane do bazy? Tą wybraną wartość z pola wyboru?

Jeśli masz zapisaną wartość, to w edycji musisz ją pobrać z bazy podczas edycji danego elementu i w tej pętli, którą rysujesz pole wyboru select, sprawdzać, czy wybrana wartość zapisana w bazie jest taka sama jak wartość aktualnej iteracji pętli. Jeśli tak, dodajesz atrybut selected="Selected" do danego option.


Wybacz, ale prościej się nie da...
marmot106
  1.  
  2. <tr><td bgcolor=\"ffff99\"><label>Kierowca:</td><td bgcolor=\"ffff99\">
  3. <select name="id_kierowca" class="textbox" style="width: 150px">
  4. <option value=""></option>
  5. <?php
  6. $zapytanie3 = "SELECT id, nazwisko FROM kierowca";
  7. $wynik2 = mysql_query($zapytanie3);
  8. while ($dane2 = mysql_fetch_array($wynik2)) {
  9. echo '<option selected ="Selected" value="'.$dane2['id'].'">'.$dane2['nazwisko'].'</option>'."\r\n";
  10. }
  11. ?>
  12. </select>
  13. </td></tr>
  14.  

dodałem selected ="Selected"
ale zawsze wyswietla sie ostatnia pozycja z bazy questionmark.gif
Turson
Select musi mieć atrybut multiple, żeby można było zaznaczyć więcej niż 1 opcje
nospor
selected ma byc dodane tylko dla opcji, ktorą chcesz zaznaczyc a nie dla wszystkich.... Jak dasz dla wszystkich to niby skad przegladarka ma wiedziec o ktora ci chodzilo? W myslach ci nie czyta.
marmot106
gdzie mam umiescic selected ="Selected" questionmark.gif możecie pokazac ?
Turson
Ale w ogóle na jakiej podstawie chcesz mieć zaznaczone lub nie?
nospor
Cytat
gdzie mam umiescic selected ="Selected" możecie pokazac ?
Tam gdzie umiesciles.... ale tylko dla wybranego option a nie dla wszystkich w petli...
marmot106
echo '<option value="'.$dane['id_trasa'].'">'.selected="selected".' '.$dane['nazwa_trasy'].'</option>'."\r\n";

Parse error: syntax error, unexpected '=', expecting ',' or ';'
gdzie jest problem ?
nospor
a po grzyba przy selected="selected" wychodziszz tekstu? Przeciez to jest tekst i z niego masz wlasnie nie wychodzic.... A teraz masz blad bo wychodzisz z tekstu w php.
marmot106
możesz mi pomóc i napisac ten kawałek kodu jak to ma wygladac ? nie łapie tego
nospor
Jesli oczekujesz od nas pomocy, to zacznij czytac co sie do Ciebie pisze i odpowiadac na proste pytania
Cytat
Ale w ogóle na jakiej podstawie chcesz mieć zaznaczone lub nie?
marmot106
id_trasa

  1. <tr><td align="right" bgcolor="FFCC66"><label>Trasa:</td><td>
  2. <select name="id_trasa" class="textbox" style="width: 160px">
  3. <option value=""></option>
  4. <?php
  5. $zapytanie2 = "SELECT id_trasa, nazwa_trasy FROM trasa";
  6. $wynik = mysql_query($zapytanie2);
  7. while ($dane = mysql_fetch_array($wynik)) {
  8. echo '<option value="'.$dane['id_trasa'].'">'.selected=''.' '.$dane['nazwa_trasy'].'</option>'."\r\n";
  9. }
  10. ?>
  11. </select>
  12.  
  13. </td></tr>
nospor
facepalmxd.gif

Ale co id trasa?
marmot106
prosze o pomoc, jak wstwic warunek selected="selected" aby przy edycji wybrała sie wczesniej zapisana w bazie $row['nazwa_trasy']
  1. <tr><td align="right" bgcolor="FFCC66"><label>Trasa:</td><td>
  2. <select name="id_trasa" class="textbox" style="width: 160px">
  3. <option value=""></option>
  4. <?php
  5. $zapytanie2 = "SELECT id_trasa, nazwa_trasy FROM trasa";
  6. $wynik = mysql_query($zapytanie2);
  7. while ($dane = mysql_fetch_array($wynik)) {
  8. echo '<option value="'.$dane['id_trasa'].'">'.$dane['nazwa_trasy'].'</option>'."\r\n";
  9. }
  10. ?>
  11. </select>
  12. </td></tr>
Turson
  1. while ($dane = mysql_fetch_array($wynik)) {
  2. $selected = ($row['nazwa_trasy'] == $dane['nazwa_trasy']) ? ' selected="selected"' : '';
  3. echo '<option value="'.$dane['id_trasa'].'"'.$selected.'>'.$dane['nazwa_trasy'].'</option>'."\r\n";
  4. }
marmot106
podpowiada sie zawsze pierwsza pozycja z bazy co_jest.gif
Turson
Czyli ani razu warunek nie został spełniony.
Zobacz co siedzi w $row['nazwa_trasy'] i porównaj to z opcjami
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.