Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Eval w pętli
Forum PHP.pl > Forum > Przedszkole
IceBeast
Cześć
Mam mały problem, otóż potrzebuję zrobić tak, żeby zmienna $test zawierała wszystkie (10, 100, 250, 355 rekordów itd) rekordy z pętli.
Kod wygląda tak:
Kod
$zapytanie = mysql_query("select * from mybb_contests");
while($x = mysql_fetch_array($zapytanie)) {

eval("\$test = \"<a href=\contest.php?id=".$x['id'].">".$x['name']."\";");
}


Z tym że tutaj wypluwa tylko ostatni wynik z pętli. Jak to ładnie i zgrabnie połączyć, żeby wyrzucało wszystkie rekordy?
Crozin
Możesz wyjaśnić po jaką cholerę tam jest eval? Nie możesz po prostu dopisywać do zmiennej kolejnych wartości (operator .=)
croc
Po pierwsze żaden eval.

  1. $zapytanie = mysql_query('select * from mybb_contests');
  2. $test = '';
  3. while($x = mysql_fetch_array($zapytanie)) {
  4. $test .= '<a href="contest.php?id='.$x['id'].'">'.$x['name'].'</a>';
  5. }


Wątpię jednak, by takie upychanie do zmiennej miało sens.
IceBeast
Potrzebuję eval, gdyż jest to pisane pod system szablonów MyBB i eval przyporządkowuje treść zmiennej umieszczonej w szablonie.
Crozin
Nie, z tego co widzę to eval przypisuje zmiennej $test jakąś wartość, co można zrobić bez pomocy evala. @croc zresztą pokazał nawet jak.
IceBeast
W MyBB bez evala się nie obejdzie smile.gif Ale po prostu zmieniłem = na .= w evalu i już działa.
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.