Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Array w pętli while
Ruio
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 9
Dołączył: 20.02.2009

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


Problem polega na tym iż potrafię pobrać 1 rekord natomiast większej ilości nie umiem przekazać. oto kod:

  1. $kategorie = mysql_query('SELECT `id`, `nazwa` FROM kategorie');
  2. while ($dane = mysql_fetch_array($kategorie)){
  3. $tablica = array($dane['id'] => $dane['nazwa']);
  4. }
  5. echo $form-> add_select('kategoria',$tablica);


Proszę o pomoc i pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


  1.  
  2. $kategorie = mysql_query('SELECT `id`, `nazwa` FROM kategorie');
  3.  
  4. while ($dane = mysql_fetch_array($kategorie)){
  5.  
  6. $tablica[] = $dane;
  7.  
  8. }
  9.  
  10. foreach($tablica as $value) // lub dajesz $tablica as $key => $value nie wiem jakie dane obrabia metoda add_select
  11. echo $form-> add_select('kategoria',$value);
Go to the top of the page
+Quote Post
Wicepsik
post
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


  1. $tablica[] = ...
Go to the top of the page
+Quote Post
Ruio
post
Post #4





Grupa: Zarejestrowani
Postów: 147
Pomógł: 9
Dołączył: 20.02.2009

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


niestety nie działa ;/ moze coś pomoże jak podrzucę kod metody add_select

  1. public function add_select($name, $options) {
  2. $code = '<select name="'.$name.'">';
  3. foreach($options as $value => &$text) {
  4. $code .= '<option value="'.$value.'">'.$text.'</option>';
  5. }
  6. $code .= "</select>";
  7. return $code;
  8. }


Próbowałem chyba juz wszystkiego i za kazdym razie w najlepszym układzie wychodzą (zamiast 1 selecta z 3 opcjami ) 3 selecty w każdym po 1 opcji (IMG:style_emoticons/default/tongue.gif)

Ten post edytował Ruio 20.05.2010, 17:03:08
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Metoda add_select dobrze wyglada.Wiec popraw tylko ten kawalek co ci podalem wyzej na taki:
  1.  
  2. $kategorie = mysql_query('SELECT `id`, `nazwa` FROM kategorie');
  3.  
  4. while ($dane = mysql_fetch_array($kategorie)){
  5.  
  6. $tablica[] = array($dane['id'] => $dane['nazwa']);
  7.  
  8. }
  9.  
  10. foreach($tablica as $value) // lub dajesz $tablica as $key => $value nie wiem jakie dane obrabia metoda add_select
  11. echo $form-> add_select('kategoria',$value);

Powinno hulac jak nie ostatnie 2 linijki zmien na takie:
  1. foreach($tablica as $key => $value)
  2. echo $form-> add_select('kategoria',$value);

Z tym ze kod podaje troche w ciemno bo nie testowalem, lecz powinno dzialac :]

P.S wyzuc ten & z foreach w metodzie add_select bo raczej jest on zbedny (IMG:style_emoticons/default/snitch.gif)

Ten post edytował marcio 20.05.2010, 17:29:52
Go to the top of the page
+Quote Post
Wicepsik
post
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


  1. public function add_select($name, $options) {
  2. $code = '<select name="'.$name.'">';
  3. foreach($options as $v) {
  4. foreach($v as $value => $text){
  5. $code .= '<option value="'.$value.'">'.$text.'</option>';
  6. }
  7. }
  8. $code .= "</select>";
  9. return $code;
  10. }
  11.  
  12.  
  13. $kategorie = mysql_query('SELECT `id`, `nazwa` FROM kategorie');
  14.  
  15. while ($dane = mysql_fetch_array($kategorie, MYSQL_ASSOC){
  16.  
  17. $tablica[] = $dane;
  18.  
  19. }
  20.  
  21. echo $form->add_select('kategoria', $tablica);


Cytat(marcio @ 20.05.2010, 18:28:08 ) *
Metoda add_select dobrze wyglada.


Metoda add_select nie jest dobra, ponieważ wywołując za każdym razem w pętli tworzy się nowy select.

Ten post edytował Wicepsik 20.05.2010, 17:34:27
Go to the top of the page
+Quote Post
Ruio
post
Post #7





Grupa: Zarejestrowani
Postów: 147
Pomógł: 9
Dołączył: 20.02.2009

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


marcio twój kod nie ma ochoty działać (IMG:style_emoticons/default/smile.gif) wicepsik twój prawie działa ale wyświetla mi wszystko nie tam gdzie trzeba tzn np:

  1. <option value="id">2</option><option value="nazwa">PHP</option>


a powinno być coś alla:

  1. <option value="2">PHP</option>


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





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


  1. public function add_select($name, $options) {
  2. $code = '<select name="'.$name.'">';
  3. foreach($options as $v) {
  4. foreach($v as $value => $text){
  5. $code .= '<option value="'.$value.'">'.$text.'</option>';
  6. }
  7. }
  8. $code .= "</select>";
  9. return $code;
  10. }
  11.  
  12.  
  13. $kategorie = mysql_query('SELECT `id`, `nazwa` FROM kategorie');
  14.  
  15. while ($dane = mysql_fetch_array($kategorie, MYSQL_ASSOC){
  16.  
  17. $tablica[] = array($dane['id'] => $dane['nazwa']);
  18.  
  19. }
  20.  
  21. echo $form->add_select('kategoria', $tablica);


Tak trudno popatrzeć w kod i zobaczyć co zmieniłem? (IMG:style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
Ruio
post
Post #9





Grupa: Zarejestrowani
Postów: 147
Pomógł: 9
Dołączył: 20.02.2009

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


dzięki ogromne i sorki za to ostatnie pytanie. Szukałem nie tego co trzeba ;]
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 17:55