Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Select
--kay--
post 17.09.2008, 16:07:19
Post #1





Goście







Witam, mam pewien problem:

Mam selecta:
  1. <select name="dsa"> <jakiesoptiony> </select>

A potem pobieram z niego dane :
  1. <?php
  2. $asd = $_POST['dsa'];
  3. ?>

(w 2pliku)
Ale nawet jak wybiore coś to wartość zmiennej $asd jest równa 0 dlaczego?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
mike
post 17.09.2008, 16:13:51
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


No a co masz w tym "<jakiesoptiony>"?
Go to the top of the page
+Quote Post
drPayton
post 17.09.2008, 16:16:48
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Pokaż cały fragmet kodu, fusy do wróżenia się skończyły...

@down: To żeś pokazał... Formularz jest? Pokaż go... Nazwy plików etc

Ten post edytował drPayton 17.09.2008, 16:17:53
Go to the top of the page
+Quote Post
--kay--
post 17.09.2008, 16:16:57
Post #4





Goście







  1. <?php
  2. <option value="zdzicho">zdziszek</option>
  3. ?>

itd.
Go to the top of the page
+Quote Post
mike
post 17.09.2008, 16:19:06
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Action i method w elemncie form masz poprawne?

P.S.
Jakbyś podał normalnie cały kod a nie strzepek to nie trzeba byłoby pytać tongue.gif
Go to the top of the page
+Quote Post
--kay--
post 17.09.2008, 16:19:25
Post #6





Goście







  1. <?php
  2. $pytanie = "SELECT `nazwa` FROM `moto` WHERE `wlasciciel` = \"$username\"";
  3. $zrob = mysql_query($pytanie);
  4. if (!isset($_POST['dsa'] ))
  5. {
  6. <form method = \"POST\">
  7. Wybier:
  8. <select name=\"dsa\">
  9. ";
  10. while ($rowek = mysql_fetch_array($zrob))
  11. {
  12. for( $x = 0; $x < count($rowek); $x++ )
  13. {
  14.  
  15. echo "<option value=\"$x\">$rowek[$x]</option>";
  16. }
  17.  
  18. }
  19.  
  20.  
  21.  
  22.  
  23.  
  24. echo"</select>
  25. <br>
  26. <input type='submit' value='Usuń!'></form>";
  27.  
  28.  
  29. }
  30.  
  31. else
  32. {
  33. $namemoto = $_POST['dsa'];
  34. ?>

Fragment kodu...
Nie pytajcie się czy wogóle coś jest w optionie bo jest!
Go to the top of the page
+Quote Post
drPayton
post 17.09.2008, 16:30:28
Post #7





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


  1. <?php
  2. while ($rowek = mysql_fetch_array($zrob))
  3. {
  4. for( $x = 0; $x < count($rowek); $x++ )
  5. {
  6.  
  7. echo "<option value=\"$x\">$rowek[$x]</option>";
  8. }
  9.  
  10. }
  11. ?>


Co to ma robić? Wstawia dane z rekordu do pola option, potem wstawia pustaki na ilość = ilości kolumn tabeli w bazie?!?

Poza tym, przesyłana zmienna ma prawidłową wartość, tzn de facto numer kolumny w bazie danych (np 0 dla id, 1 dla nazwy, 2 dla czegoś tam etc)
Go to the top of the page
+Quote Post
--kay--
post 17.09.2008, 16:39:21
Post #8





Goście







No to zrobiłem echo "<option value=\"$rowek[$x]\">$rowek[$x]</option>"; i to samo jest
Go to the top of the page
+Quote Post
--kay--
post 17.09.2008, 16:41:21
Post #9





Goście







A ma to robić, że pobieram zaznaczone przez usera dane tzn. najpierw z bazy pokazuje wszystkie jego rzeczy a potem patrze którą on wybrał...
Go to the top of the page
+Quote Post
drPayton
post 17.09.2008, 16:48:40
Post #10





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Mate, przeczytaj jeszcze raz co napisałem. Albo wyjaśnię raz jeszcze co Ty tak naprawdę robisz:
Załóżmy że ta Twoja tabela składa się z 4 pół: id, nazwa, opis, status (to przykład oczywiście)
Wyświetlasz z niej wszystkie rekordy spełniające warunek i na tej podstawie tworzysz następująca listę:
Rzecz pierwsza x 4 (=ilośc kolumn w bazie danych)
Rzecz druga x 4 (=ilośc kolumn w bazie danych)
Rzecz trzecia x 4 (=ilośc kolumn w bazie danych)

Przy czym wyświetlane na liście są tylko po pierwszej pozycji z każdego ww (czyli o wartości zero). Po Twojej zmianie - zamiast zera powinieneś mieć nazwę.

W największym skrócie - wywal pętlę for...
Go to the top of the page
+Quote Post
--kay--
post 17.09.2008, 16:57:35
Post #11





Goście







To jak skonstruować tą pętle aby:

* Wyświetlała wszystkie wyniki w <option> tzn. mam takie zapytanie:
  1. <?php
  2. $pytanie = "SELECT `nazwa` FROM `moto` WHERE `wlasciciel` = \"$username\"";
  3. ?>

I chcę aby w select były nazwy wszystkich rzeczy gdzie wlasciciel = $username...
Bez pętli mogę wyświetlić tylko jeden więc możesz mi napisać tą pętle?
Go to the top of the page
+Quote Post
drPayton
post 17.09.2008, 17:01:18
Post #12





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Że jak?!?

  1. <?php
  2. while ($rowek = mysql_fetch_array($zrob))
  3. ?>


W tej pętli wyświetlasz wszystkie wyniki zapytania przecież...
Go to the top of the page
+Quote Post
--kay--
post 17.09.2008, 17:02:56
Post #13





Goście







Ale nie daje ich do selecta smile.gif

Rozwiązałem swój problem:
  1. <?php
  2. for( $x = 0; !empty($rowek[$x]); $x++ )
  3. ?>
Go to the top of the page
+Quote Post
drPayton
post 17.09.2008, 17:06:29
Post #14





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Naprawdę nie rozumiem:

  1. <?php
  2. $pytanie = "SELECT `nazwa` FROM `moto` WHERE `wlasciciel` = \"$username\"";
  3.  
  4. (...)
  5. $licznik = 1;
  6. while ($rowek = mysql_fetch_array($zrob)) {
  7.    echo '<option value="'.$licznik.'">'.$rowek['nazwa'].'</option>';
  8.    $licznik++;
  9. }
  10. ?>


Nie może tak być?

PS. Brakuje paru znaczków, forum wciąż głodne i je zżera...

Ten post edytował drPayton 17.09.2008, 17:07:10
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 Wersja Lo-Fi Aktualny czas: 29.06.2025 - 14:53