Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pole select podczas edycji
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,

Mam taki mały problemik i obchodzę go sobie ale chciałem się Was podpytać czy jest na to może jakieś "lekarstwo".
Problem mam w tym , że pole select pobiera dane bazy danych. Wszystko działa super.
Niestety problem jest podczas edycji . Chciałbym , żeby pole select ustawiało się na tej opcji która została zapisana w bazie, a jednocześnie, żeby były dostępne
inne opcje które są w bazie kategorie.
Chodzi o to że dodaje rekord do bazy
tytul: Kubuś Puchatek
kategoria: film ( oczywiście tu mam do wyboru książka, film, gazeta,inne)
opis: dddddd
IBD: 3232323

Moje obejście:
Jak przechodzę do edycji to pobieram dane z tabeli głównej, ale dane do pola select są danymi z tabeli kategorie. Dodałem przy polu select pole txt z opisem AKTUALNA KATEGORIA TO : i tu pobieram dane z głównej bazy. Niestety nieraz zapominam tego zmienić i robi się kaszana bo po edycji i zapisaniu rekordu film wskakuje do kategorii książka ( bo to pierwsze pole z bazy i pierwsze widoczne w polu select.
Czy jest możliwość ustawienia pola select tak żeby wyświetlał aktualną kategorię z głównej bazy, ale dodatkowo dane z bazy kategorii?
Próbowałem jakoś scalić dane ale wtedy mam dwa rekordy takie sam czyli w select widzę książka, film, film( pobrany z głównej bazy), gazeta, inne.

Można to jakoś rozwiązać ? Dzięki za pomoc
Daiquiri
A nie możesz zwyczajnie sprawdzać czy wartość tego selecta == to co masz w bazie i jeżeli tak to dodać do tej pozycji selected="selected"?
redelek
a możesz troszkę rozjaśnić ?
Mam tak podczas edycji
  1. echo '<TD class="label">Kategoria: </TD>
  2. <TD class="data"><select name="fcategory">';
  3. while(list($id_category, $usercategory, $iduser) = mysql_fetch_array($zapytanie)) {
  4. if ($iduser == "0"){
  5. echo '<option style="color:blue;" value="'.$id_category.'">'.$usercategory.'</option>';
  6. }else {
  7. echo '<option style="color:green;" value="'.$id_category.'">'.$usercategory.'</option>';
Daiquiri
Tam gdzie "wyświetlasz" <option> dodajesz w środku if($aktualna_wartosc_z_bazy == $wyswietlana_wartosc) echo 'select="selected"; smile.gif
redelek
no niestety pomimo tego ustawienia nadal pole select nie zmienia się na aktualny rekord sad.gif cały czas jest na tym co pobrał z bazy
Kolor się jego zmienił , ale nie ustawił się na pierwszej pozycji nadal jest książka

  1. $zapytanie = mysql_query ("SELECT * FROM $M_TABELA2 WHERE iduser='0' OR iduser=$IDUSER");
  2.  
  3. echo '<TD class="label">Kategoria: </TD>
  4. <TD class="data"><select name="fcategory" >';
  5. while(list($id_category, $usercategory, $iduser) = mysql_fetch_array($zapytanie)) {
  6. if ($row['usercategory']==$usercategory){
  7. echo '<option style="color:blue;" value="'.$id_category.' selected="selected"">'.$usercategory.'</option>';
  8.  
  9. }else {
  10. echo '<option style="color:green;" value="'.$id_category.'">'.$usercategory.'</option>';
  11. }
  12. }
  13. echo'</select> <span class="inf">&nbsp;Obecnie kategoria&nbsp;</span><strong>'.$row['usercategory'].'</strong></TD></tr>';


oki działa po prostu na początku trzeba było to ustawić.

Dzięki dzięki
Daiquiri
Nie wygodniej będzie w ten sposób?
  1. while(list($id_category, $usercategory, $iduser) = mysql_fetch_array($zapytanie)) {
  2. echo '<option'; if ($row['usercategory']==$usercategory) echo 'select="selected"'; echo '>'.$usercategory.'</option>';
  3. } // itd.
user767
było 10 razy na forum, zobacz w moich tematach masz strukturalnie i obiektowo
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.