Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Probleme mit eval() und einer Schleife (https://boardunity.de/probleme-eval-schleife-t1867.html)

MrNase 13.05.2004 11:21

Probleme mit eval() und einer Schleife
 
Also, ich habe ne Datenbankabfrage die mit while($a_bla = mysql_fetch_array($r_bla)) eine Schleife öffnet.
In diesem Fall sind es Beiträge die in dieser Schleife ausgelesen werden und später wird dieses mit eval(); ausgegeben.


Innerhalb dieser Schleife rufe ich mit
PHP-Code:

  eval($Tattachment->GetTemplate("ATTACHMENT")); 

ein neues Template auf in dem eine Ausgabe erfolgen sollte von Daten die ich in der Datenbankabfrage bekommen habe.

Wenn ich aber jetzt 4 Beiträge habe und jeder Beitrag hat einen Anhang, dann sollte ja jeder Beitrag nur einmal das Template 'ATTACHMENT' erhalten und jeder Beitrag sollte nur einen Anhang anzeigen. Stattdessen besitzt der 2. Beitrag insgesamt 2 Anhänge (seinen plus den vom ersten Beitrag).
Der 3. Beitrag hat 3 Anhänge und der 4. Beitrag hat 4 Anhänge.
Wie kann ich es verhindern?

Um es nochmal zu verdeutlichen:
PHP-Code:

  DATENBANKABFRAGE;
  
  while( 
$post mysql_fetch_array($r_post) )
  {
  if(
$post['attachmentname'])
      {
      eval(
$Tattachment->GetTemplate("ATTACHMENT"));
      }
  eval(
$Tpostingrow->GetTemplate("POSTINGROWS"));
   } 

</b>
Und ATTACHMENT wird in das Template POSTINGROWS eingefügt.

Es scheint am eval() zu liegen, denn wenn ich es (die variable um den Anhang auszugeben => $post['attachmentname']) direkt ins Template POSTINGROWS schreibe und auf das andere Template verzichte, dann funktioniert es und jeder Beitrag hat nur seinen Anhang.

Xenon 13.05.2004 19:34

du musst noch einen else zweig einbauen, der das attachment template wieder leert, wenn keine attachment an nem beitrag hängt.

MrNase 14.05.2004 12:08

Leider kommt es zu spät. Ich hab jetzt alles umgebaut und nur ein Upload pro Thema erlaubt.

Trotzdem danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25