Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Błąd w przesyłaniu do bazy danych
Forum PHP.pl > Forum > Przedszkole
diamondking
Witam, mam skrypt z formularzem. Są tam opcje typu <select>, <option>.

Jest dział: kolor włosów i sa różne opcje. Jak jest opcja dwu częściowa np. jasny brąz to do bazy prześle mi tylko słowo jasny ... ktoś wie czemu ?
sowiq
Rzuć okiem:
Kshyhoo
Polecam lekturę: Jak poprawnie zadać pytanie
nospor
Nie:
<option value=jasny braz>...

a:
<option value="jasny braz">...
diamondking
  1. $wlosy = $user_data['wlosy'];
  2.  
  3. $w1 = "bardzo krótkie";
  4. $w2 = "krótkie";
  5. $w3 = "średnie";
  6. $w4 = "długie";
  7. $w5 = "łysy";
  8. $w6 = "inne";



  1. <p>
  2. Włosy:<br>
  3. <select name="wlosy">
  4. <option value="0">wybierz</option>
  5. <option value='.$w1.($wlosy == $w1 ? ' selected=true' : '' ).'>bardzo krótkie</option>
  6. <option value='.$w2.($wlosy == $w2 ? ' selected=true' : '' ).'>krótkie</option>
  7. <option value='.$w3.($wlosy == $w3 ? ' selected=true' : '' ).'>średnie</option>
  8. <option value='.$w4.($wlosy == $w4 ? ' selected=true' : '' ).'>długie</option>
  9. <option value='.$w5.($wlosy == $w5 ? ' selected=true' : '' ).'>łysy</option>
  10. <option value='.$w6.($wlosy == $w6 ? ' selected=true' : '' ).'>inne</option>
  11. </select>
  12. </p>


co jest nie tak ? Bo do bazy zapisuje tylko "bardzo" a nie "bardzo krótkie"
phpion
Przecież ~nospor napisał Ci w czym jest problem. W Twoim kodzie ewidentnie widać, że trafił w 10.
diamondking
Jestem lajik - nie wiem w czym problem i jak to naprawić ;/

Ok naprawiłem - dziękuje i przepraszam - ucze się - kazdy z nas jakoś zaczynał ;(

Teraz dodaje do bazy poprawnie ale jak wejdę w edycje profilu to nie zaznacza domyślnie wcześniej wybranej opcji ;/
phpion
Nie ma za co przepraszać. Własna inicjatywa i kombinowanie jak rozwiązać problem są tu jak najbardziej mile widziane. Dostałeś podpowiedź, poradziłeś sobie - o to chodzi.
Kshyhoo
Cytat(diamondking @ 17.02.2014, 15:36:59 ) *
Teraz dodaje do bazy poprawnie ale jak wejdę w edycje profilu to nie zaznacza domyślnie wcześniej wybranej opcji ;/

Zasada:
  1. <option value="..." <?php echo $zmienna = x ? 'selected="selected"' : ''?>>Opcja 1</option>

diamondking
będe walczył choć na razie nic nie kumam ;P
Kshyhoo
Co nie kumasz? Jak nie umiesz porównywać operatorem trójargumentowym:
  1. <option value="<?php echo $data['dana_z_bazy'] ?>" <?php echo $wlosy == $w1 ? 'selected="selected"' : ''?>>bardzo krótkie</option>

to zrób to z if:
  1. <option value="<?php echo $data['dana_z_bazy'] ?>" <?php if ($wlosy == $w1) { echo 'selected="selected"'; } else { echo ''; }?>>bardzo krótkie</option>

Mam nadzieję, że nie skopałem z ciapkami wink.gif
diamondking
Kombinuje i nic ;/

bo ten kod:

  1. <p>
  2. Włosy:<br>
  3. <select name="wlosy">
  4. <option value="0">wybierz</option>
  5. <option value='.$w1.($wlosy == $w1 ? ' selected=true' : '' ).'>bardzo krótkie</option>
  6. <option value='.$w2.($wlosy == $w2 ? ' selected=true' : '' ).'>krótkie</option>
  7. <option value='.$w3.($wlosy == $w3 ? ' selected=true' : '' ).'>średnie</option>
  8. <option value='.$w4.($wlosy == $w4 ? ' selected=true' : '' ).'>długie</option>
  9. <option value='.$w5.($wlosy == $w5 ? ' selected=true' : '' ).'>łysy</option>
  10. <option value='.$w6.($wlosy == $w6 ? ' selected=true' : '' ).'>inne</option>
  11. </select>
  12. </p>


on już jest w echo'';
Turson
Podejrzyj źródło strony CTRL+U to zobaczysz co nie tak
diamondking
Dzięki wielki pomogłeś i to bardzo - kurczę tak nie wiele a człowiek się gubi wink.gif

Kshyhoo
Zamykam ten wątek. Założyłeś już dwa inne, gdzie masz ten sam problem: pobranie danych z select-option i ponowne załadowanie tychże danych do formularza.
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.