Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Nie działa $selected z bazą danych
szczalpi
post
Post #1





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


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.
  1. <select>
  2.  
  3. <?php
  4. $query= "SELECT kat_nazwa FROM kat_atrakcje ORDER BY kat_nazwa ASC";
  5. $result = mysql_query($query);
  6. while ($rows = mysql_fetch_array($result)) {
  7.  
  8. if($row['kat'])
  9. {
  10. $selected='selected';
  11. }
  12. else
  13. {
  14. $selected='';
  15. }
  16. ?>
  17. <option value="<?php echo $row['kat']?>" <?php echo $selected;?> ><?php echo $rows['kat_nazwa'];?></option>
  18.  
  19. <?php
  20. }
  21. ?></select>


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nigdzie nie okreslasz ktory to jest wybrany wiec czemu sie dziwisz? Na chwilę obecną robisz SELECTED dla kazdej opcji...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szczalpi
post
Post #3





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


No nie rozumiem do końca. Czy na kierujesz mnie troche questionmark.gif
Dziekuje


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Raczej warunek niespełniony.


--------------------
Go to the top of the page
+Quote Post
szczalpi
post
Post #6





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


Wszystkie inne dane z danego rekordu pobiera prawidłowo. Tylko w tym jednym przypadku jest źle ...


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
trueblue
post
Post #7





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A zauważyłeś, że nie pobierasz w zapytaniu kolumny o nazwie kat?


--------------------
Go to the top of the page
+Quote Post
szczalpi
post
Post #8





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


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ć .


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
Tuminure
post
Post #9





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


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).
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ć.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szczalpi
post
Post #11





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


To już troche gotowca zmienilem na takiego i nic...
  1. <?php
  2. $sql1 = mysql_query("select * from atrakcje where id='$pokaz'");
  3. while($row1 = mysql_fetch_array($sql1)) {
  4. $wer = $row1['kat'];
  5. $query= "SELECT * FROM kat_atrakcje ORDER BY kat_nazwa ASC";
  6. $result = mysql_query($query);
  7. while ($rows = mysql_fetch_array($result)) {
  8.  
  9. echo '<option ' . ($wer==$rows['kat_nazwa'] ? 'selected' : '') . ' value="'.$wer.'">'.$rows['kat_nazwa'].'</option>';
  10. }
  11. }
  12. ?>


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szczalpi
post
Post #13





Grupa: Zarejestrowani
Postów: 336
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (10%)
X----


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.


--------------------
Nieregulaminowa stopka usunieta
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ja sie nie pytam o wartosc "jaka ma byc". Ja sie pytam o wartosc "JAKA DOKLADNIE TERAZ JEST".... mowilem.. sprawdz.... var_dump()


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:02