Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odczytywanie danych z tablicy za pomocą foreach
Forum PHP.pl > Forum > PHP
xandersky
Witam, mam problem z odczytem danych z tablicy a raczej z pętli..

Zaczynając od początku..

Osoba wybiera sobie w formularzu kilka checkboxów..
Checkboxy wysyłam getem do pliku php - nazwa checkboxa jest costam[]

W efekcie otrzymuje

Kod
plik.php?costam[]=1&costam[]=2&costam[]=3


Wszystko super.. Odbieram dane

Kod
$get_costam = $_GET['costam'];


i potem

  1. foreach ($get_costam as $wart)
  2. {
  3. $wynik = mysql_query("SELECT * FROM `ble` WHERE `bb` = '$wart'")
  4. or die('Błąd zapytania');
  5. $r = mysql_fetch_assoc($wynik);
  6. $img_costam = $r['obrazek'];
  7. $kat_costam = $r['katalog'];
  8. $link_rel = '<a rel="shadowbox" href="' . $img_costam . '" ><b>' . $kat_costam . '</b></a>&nbsp;&nbsp;&nbsp;';
  9.  
  10. }


ok wszystko pieknie się pokazuje - gdy jednak odniose się do zmiennej $link_rel poza pętlą foreach to pustka.. ;/

W późniejszej części jest:

  1. $tabela4 = '<table width="100%">
  2. <tr>
  3. <td width="20px"><span style="margin-left:10px; "><img style="margin-top:8px;" src="images/arrow.png"></span></td>
  4. <td valign="middle">&nbsp;&nbsp;<span><strong>Wybrano wzory : ' . $link_rel . ' </strong> - <a href="' . $decode . '" >Kliknij tutaj aby zmienić</a> </span></td>
  5. </tr>
  6. </table>';


Niestety nijak nie działa.. Próbowałem przed pętlą dodać $link_rel = ''; i w petli $link_rel .= '{zawartość}'; jednakże nic to nie pomogło.. ;/ Nie mam już pomysłu jak wyświetlić te dane poza pętlą. Dodam że wszystko inne działa bez problemu - tylko na tym utknąłem sad.gif print_r w pętli pokazuje dokładnie to co bym chciał umieścić w zmiennej $tabela4

Całość ma wyglądać tak

  1. foreach ($get_costam as $wart)
  2. {
  3. $wynik = mysql_query("SELECT * FROM `ble` WHERE `bb` = '$wart'")
  4. or die('Błąd zapytania');
  5. $r = mysql_fetch_assoc($wynik);
  6. $img_costam = $r['obrazek'];
  7. $kat_costam = $r['katalog'];
  8. $link_rel = '<a rel="shadowbox" href="' . $img_costam . '" ><b>' . $kat_costam . '</b></a>&nbsp;&nbsp;&nbsp;';
  9.  
  10. print_r($link_rel);
  11. }
  12. $tabela4 = '<table width="100%">
  13. <tr>
  14. <td width="20px"><span style="margin-left:10px; "><img style="margin-top:8px;" src="images/arrow.png"></span></td>
  15. <td valign="middle">&nbsp;&nbsp;<span><strong>Wybrano wzory : ' . $link_rel . ' </strong> - <a href="' . $decode . '" >Kliknij tutaj aby zmienić</a> </span></td>
  16. </tr>
  17. </table>';
  18.  
  19. $tpl->key("tabela4","$tabela4");


Nie mam pomyślu gdzie robię błąd i czy w ogóle to jest błąd czy coś nie poprawnie wymysliłem.. tak czy owak za wszelkie sugestie będę wdzięczny.
dżozef
  1. $link_rel='';
  2. foreach ($get_costam as $wart)
  3. {
  4. $wynik = mysql_query("SELECT * FROM `ble` WHERE `bb` = '$wart'")
  5. or die('Błąd zapytania');
  6. $r = mysql_fetch_assoc($wynik);
  7. $img_costam = $r['obrazek'];
  8. $kat_costam = $r['katalog'];
  9. $link_rel = '<a rel="shadowbox" href="' . $img_costam . '" ><b>' . $kat_costam . '</b></a>   ';
  10.  
  11. }

powinno działać. a dostajesz wyniki zapytania?
xandersky
Niestety nie działa..

Zmienna $link_rel poza pętlą jest cały czas pusta..

Wyniki zapytania jak najbardziej..

W pętli wszystko wygląda super ->

Print_r na $link_rel printuje dwa linki o poprawnych parametrach pobranych z bazy..

Poza petlą jest pusto.. zarówno jak zrobie $link_rel = ''; i w petli $link_rel .= cos tam;


@edit

heh nie wierze poprostu...

Problem był banalnie prosty a zarazem z tej prostoty tak trudny że na rozwiązwanie zagadek straciłem dwie godziny..

problemem okazał się HTMLowski znacznik <b> a raczej znacznik <b> w <strong>

dokładnie rzecz biorąc w $tabela4

  1. $tabela4 = '....<strong>Wybrano wzory : ' . $link_rel . ' </strong>......


a w $link_rel

  1. $link_rel = '<a href="#" ><b>bleble</b></a> '


po wstawieniu zmiennej w zmienną:

  1. $tabela4 = '....<strong>Wybrano wzory <a href="#" ><b>bleble</b></a> </strong>......


Dawało powyższy wynik i jakimś cudem właśnie <b> umieszczone w <strong> nie pozwalało na wyświetlenie zawartości poza pętlą.. Głupie troche to dla mnie ale po usunięciu znaczników <b></b> problem ustąpił..

Także zostawiam dla potomnych i pozdrawiam..

Jak ktoś wie czemu tak się stało chętnie usłyszę odpowiedź..
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.