szczalpi
8.07.2015, 19:51:29
Witam
Mam problem, aby prawidłowo działał $selected po wyciągnięciu go z bazy. Kiedy zamierzam zmienić nazwę z bazy na inną to już nie zapisuje go.
Jedynie pojawia się lista w <option>, ale już nie chce zapamiętać wybranego wpisu.
Proszę o pomoc.
<select>
<?php
$query= "SELECT kat_nazwa FROM kat_atrakcje ORDER BY kat_nazwa ASC";
if($row['kat'])
{
$selected='selected';
}
else
{
$selected='';
}
?>
<option value="
<?php echo $row['kat']?>"
<?php echo $selected;?> >
<?php echo $rows['kat_nazwa'];?></option>
<?php
}
?></select>
nospor
8.07.2015, 20:07:47
Nigdzie nie okreslasz ktory to jest wybrany wiec czemu sie dziwisz? Na chwilę obecną robisz SELECTED dla kazdej opcji...
szczalpi
8.07.2015, 20:15:04
No nie rozumiem do końca. Czy na kierujesz mnie troche

Dziekuje
nospor
8.07.2015, 20:16:38
O to:
if($row['kat'])
jest spelnione dla kazdego Twojego rekordu wiec logiczne ze twoje $selected ustawia sie dla kazdego rekordu... Nie sądzisz, ze tam powinieni byc warunek:
if (aktualny rekord jest rekordem ktory wlasnie edytuje) to dopiero selected
?
trueblue
8.07.2015, 20:44:33
Raczej warunek niespełniony.
szczalpi
8.07.2015, 20:54:55
Wszystkie inne dane z danego rekordu pobiera prawidłowo. Tylko w tym jednym przypadku jest źle ...
trueblue
8.07.2015, 21:24:11
A zauważyłeś, że nie pobierasz w zapytaniu kolumny o nazwie kat?
szczalpi
9.07.2015, 06:31:16
Kolumnę $row[kat] mam już wywołaną wcześniej w kodzie. Baza kat_atrakcje zawiera wpisy np miasta, astrakcje, zabytki.
Chciałbym, aby zmiany pobierało z kat_atrakcje i wstawiało do kat.
Za tempy jestem aby to ogarnać. Proszę was o podanie co zmienić .
Tuminure
9.07.2015, 07:00:04
Cytat
A zauważyłeś, że nie pobierasz w zapytaniu kolumny o nazwie kat?
Z bazy danych wyciąga do zmiennej $rows, a "kat" wyciąga ze zmiennej $row (która nie ma nic wspólnego z $rows).
Podczas każdego przebiegu w pętli while, element tablicy $row["kat"] ma taką samą wartość. Dlatego wszystkie <option> są oznaczone jako selected (lub też wszystkie nie są, co w sumie daje taki sam efekt).
nospor
9.07.2015, 07:15:53
No pisalem juz o tym wielokrotnie....
Cytat
Za tempy jestem aby to ogarnać. Proszę was o podanie co zmienić .
Musisz porownac wartosc z edycji, z aktualnie przetwarzaną wartoscią z petli co nam tu pokazales. Pomysl troche. To jest naprawde proste... Jak teraz tego sam nie zrobisz to nie ma sensu byś w ogole dalej pisal jakiekolwiek skrypty. A juz za dlugo siedzisz na forum by z taką pierdułą się bawić.
szczalpi
9.07.2015, 07:23:00
To już troche gotowca zmienilem na takiego i nic...
<?php
$sql1 = mysql_query("select * from atrakcje where id='$pokaz'"); $wer = $row1['kat'];
$query= "SELECT * FROM kat_atrakcje ORDER BY kat_nazwa ASC";
echo '<option ' . ($wer==$rows['kat_nazwa'] ?
'selected' : '') . ' value="'.$wer.'">'.$rows['kat_nazwa'].'</option>'; }
}
?>
nospor
9.07.2015, 07:34:30
wyswietl sobie co zawiera $wer, wyswietl sobie co zawiera $rows['kat_nazwa'] a bedzie wiadomo czemu warunek nie jest spelniony. No wykaz sie samodzielnoscią.
ps: value="'.$wer.'" czemu?? Przeciez wartoscia dla OPTION ma byc aktualno wartosc z kat_atrakcje tak jak wyswietlasz stamtad kat_nazwa
szczalpi
9.07.2015, 08:07:47
Aktualna wartosc $kat ma być z atrakcje np: jezioro. W kat_atrakcje mam liste wszystkich rodzaji atrakcji np: miasta, zabytki, ratusze.
Po zmianie na ratusze powinna się zapisać w bazie atrakcje $kat=ratusze.
nospor
9.07.2015, 08:22:17
Ja sie nie pytam o wartosc "jaka ma byc". Ja sie pytam o wartosc "JAKA DOKLADNIE TERAZ JEST".... mowilem.. sprawdz.... var_dump()
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.