Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP] problem formularz <option selected>
limonides
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 30.05.2009

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


  1. <?
  2. $query=" SELECT * FROM kat_dzialalnosci";
  3. $result=mysql_query($query);
  4. $num=mysql_numrows($result);
  5. $wynik = mysql_query("SELECT * FROM firma WHERE id='$sklep'") or die('Błąd zapytania');
  6. $r = mysql_fetch_assoc($wynik);
  7. $kategoria=$r['kategoria']-1;
  8. $promocja=$r['promocja'];
  9. $i=0;
  10. while ($i < $num) {
  11. $nazwa=mysql_result($result,$i,"nazwa");
  12. if ($i==$kategoria) {
  13. echo "<option selected>$nazwa<option>";
  14. }
  15. else {
  16. echo "<option>$nazwa</option>";
  17. }
  18. $i++;
  19. }
  20. ?>


wyświetlam kategorie z bazy, domyślnie ustawiam kategorie taką do jakiej jest przypisana firma którą edytuję.
mój problem polega na tym iż zawsze po tej domyślnie ustawionej kategorii mam jedno puste pole w liście i dalej już leci normalnie.



może ktoś naprowadzi mnie jak to zlikwidować questionmark.gif
pozdrawiam i z góry dziękuje za wszelką pomoc.
Go to the top of the page
+Quote Post
_Borys_
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Problem w tym, że tutaj liczysz od zera a w bazie masz prawdopodobnie od jeden.
Zmień na
  1. $i=1;

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





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 30.05.2009

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


jak tak zmienię to nie wyświetla mi pierwszej kategorii :/
białe pole jest nadal :/

czy może mi ktoś pomóc ?
Go to the top of the page
+Quote Post
_Borys_
post
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Pewnie przy zerowym $i wywala pustą nazwę.
a poza tym nie rozumiem dlaczego przy
  1. $kategoria=$r['kategoria']-1;

jest -1 ?
Ostatecznie można zastosować
  1. if ($nazwa != '') {
  2. echo "<option>$nazwa</option>";
  3. }

ale to tylko ukrywanie dziury i nie tędy droga.
Nie znam struktury twojej bazy a więc mogę się tylko domyślać,że gdzieś jest dziura, albo przy pobieraniu rekordów albo przy wypisywaniu.
Spróbuj wylistować każdą zmienną tego kodu aby sprawdzić gdzie jest dziura np:
  1. if ($i==$kategoria) {
  2. echo $i.' - '.$kategoria.' - '.$nazwa.'<br>';
  3. echo "<option selected>$nazwa<option>";
  4. }
  5. else {
  6. echo "<option>$nazwa</option>";
  7. }
  8. $i++;
  9. }

niech wywala każdą zmienną na ekran, czarno na białym i wtedy będzie widać gdzie brakuje nazwy.
Ale najpierw zakomentuj znaczniki<select> i </select> weź w komentarz tylko te znaczniki bo nie będzie widać listowania.
Najlepszy debugger to napisany przez siebie nawet taki prostacki jak podpowiadam.
Go to the top of the page
+Quote Post
d3ut3r
post
Post #5





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


  1. if ($i==$kategoria) {
  2. echo $i.' - '.$kategoria.' - '.$nazwa.'<br />';
  3. echo "<option selected=\"selected\">$nazwa</option>";
  4. }
  5. else {
  6. echo "<option>$nazwa</option>";
  7. }
  8. $i++;
  9. }


nie zamknąłeś tagu option smile.gif


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
_Borys_
post
Post #6





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Cytat
  1. if ($i==$kategoria) {
  2. echo $i.' - '.$kategoria.' - '.$nazwa.'<br />';
  3. echo "<option selected=\"selected\">$nazwa</option>";
  4. }
  5. else {
  6. echo "<option>$nazwa</option>";
  7. }
  8. $i++;
  9. }


nie zamknąłeś tagu option smile.gif

Własnie biggrin.gif, i to jest ten problem, to się zgadza, przez jeden ukośnik tyle główkowania biggrin.gif
Go to the top of the page
+Quote Post
limonides
post
Post #7





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 30.05.2009

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


wielkie dzieki wstydnis.gif
kurza ślepota wstydnis.gif
jeszcze raz serdecznie dziękuje i pozdrawiam

temat można zamknąć

Ten post edytował limonides 2.03.2011, 15:43:20
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: 20.08.2025 - 06:36