Beiträge der User aus DB auslesen

Hallo,

so nun habe ich es fertig und es geht :-)

Hier mal das Skript wie ich das nun habe:

PHP:
<?php
 include("config.php"); // config datei laden.
 error_reporting(E_ALL);
 //echo "<a href=index.php>Zur&uuml;ck zur &uuml;bersicht</a><br><br>";
 
 $ppu = array(); // posts per user
 
 $threadid = $_GET['threadid']; // threadid aus adressleiste auslesen
 
 $fp = fopen("template_post.html","r");  // teamplate zum lesen(r) &ouml;ffnen
 $template = fread($fp,filesize("template_post.html"));  // inhalt der template datei in die teamplate variable laden.
 
 	$sql = "SELECT * FROM simple_posts  WHERE threadid = '".mysql_escape_string($threadid)."' ORDER BY postid ASC";
 	  $result = mysql_query($sql) or die(mysql_error());
 	  while($row = mysql_fetch_Assoc($result)) {
 	   $von = $row['von'];
 
    if (!isset($ppu[$von])) {
 	  $ppusql = "SELECT COUNT(*) AS anzahl FROM `simple_posts` WHERE `von`='$von'"; //[1]
 	  $ppuresult = mysql_query($ppusql) OR die(mysql_error());
 	  $ppurow = mysql_fetch_assoc($ppuresult);	
 	$ppu[$von] = $ppurow['anzahl']; ;
    }
    
 	$titel = $row['titel'];  // titel besorgen
 	$von = $row['von'];  // von besorgen
 	$datum = $row['datum']; // datum besorgen
 	$post = $row['post']; // post besorgen
 
 	$anzahl = $ppu[$von];	
 	$datum = strftime("%d.%m.%Y",$datum); //  datum formatieren
 	
 	$ausgabe = $template;
 	
 	$ausgabe = str_replace("{von}",'<a href http://../pr.php?user=' . $von . '">' . $von . '</a>',$ausgabe);  // von ins template einsetzen
 	$ausgabe = str_replace("{titel}",$titel,$ausgabe);  // titel ins template einsetzen
 	$ausgabe = str_replace("{datum}",$datum,$ausgabe); // datum ins template einsetzen
 
 $ausgabe = str_replace("{anzahl}",$ppu[$von],$ausgabe);
 	$ausgabe = str_replace("{text}",echo_message($post,false,true),$ausgabe); // den post text ins template einsetzen
 	
 	$ausgabe = str_replace("{message}",'<a href http://../post.php?show=write&amp;empfaenger=' . $von . '">Message schreiben</a>',$ausgabe); // den post text ins template einsetzen
 	
 	echo $ausgabe;
 	
 };
 ?>

Vorher hatte ich ja denn Felher dass es die Funktion laut PHPnet nicht gibt. Das hätte sollen heißen mysql_escape_string

So nu geht aber alles und ich bin froh dass es geht. Nun mache ich mich an die nächste Funktion und zwar dass wenn ein User z.B. 100 Beiträge hat, dass er dann ein New ist und bei 200 Beiträge z.B. Profi oder wie auch immer :-) das wird bestimmt auch wieder so ein Problem
 
Guten Morgen,

ich hab noch eine Frage bezüglich meines Forums. Und zwar habe ich noch eine Anzeige drin wo ich den Status abfrage, das heißt genau, wenn ein User unter 100 Beiträge hat, dann soll z.B. X dagestellt werden, wenn er über 100 aber unter 500 Beiträge hat dann soll XY dagestellt werden usw....

das habe ich mir nun so überelgt:

PHP:
	if ($row["post"] <= 100){ // alle Beiträge unter und einschließlich 100
  	echo "X";
  	}
  	elseif ($row["post"] <= 500){ // alle Beiträge unter und einschließlich 500
  	echo "XY";
  	}
  	elseif ($row["post"] <= 1000){ // alle Beiträge unter und einschließlich 1000
  	echo "XYZ";
  	}

Nur wenn ich ehrlich bin, dann kann ich damit nicht wirklich was anfangen, es wird zwar dagestellt, dass ich unter 100 Beiträge habe aber das wird einach irgendwo in die Seite geschrieben und das soll ja eigentlich auch ins Template geschrieben werden wie die anderen Beiträge. Ok da habe ich bestimmt ein Problem mit dme Echo odeR? Aber wie soll ich das sonst ausgeben?

Hier nochmals der ganze Code:

PHP:
<?php
  include("config.php"); // config datei laden.
  error_reporting(E_ALL);
  //echo "<a href=index.php>Zur&uuml;ck zur &uuml;bersicht</a><br><br>";
  
  $ppu = array(); // posts per user
  
  $threadid = $_GET['threadid']; // threadid aus adressleiste auslesen
  
  $fp = fopen("template_post.html","r");  // teamplate zum lesen(r) &ouml;ffnen
  $template = fread($fp,filesize("template_post.html"));  // inhalt der template datei in die teamplate variable laden.
  
      $sql = "SELECT * FROM simple_posts  WHERE threadid = '".mysql_escape_string($threadid)."' ORDER BY postid ASC";
        $result = mysql_query($sql) or die(mysql_error());
        while($row = mysql_fetch_Assoc($result)) {
         $von = $row['von'];
  
     if (!isset($ppu[$von])) {
        $ppusql = "SELECT COUNT(*) AS anzahl FROM `simple_posts` WHERE `von`='$von'"; //[1]
        $ppuresult = mysql_query($ppusql) OR die(mysql_error());
        $ppurow = mysql_fetch_assoc($ppuresult);    
        $ppu[$von] = $ppurow['anzahl']; ;
     }
     
  	if ($row["post"] <= 100){ // alle Beiträge unter und einschließlich 100
  	echo "X";
  	}
  	elseif ($row["post"] <= 500){ // alle Beiträge unter und einschließlich 500
  	echo "XY";
  	}
  	elseif ($row["post"] <= 1000){ // alle Beiträge unter und einschließlich 1000
  	echo "XYZ";
  	} 
     
      $titel = $row['titel'];  // titel besorgen
      $von = $row['von'];  // von besorgen
      $datum = $row['datum']; // datum besorgen
      $post = $row['post']; // post besorgen
  
      $anzahl = $ppu[$von];    
      $datum = strftime("%d.%m.%Y",$datum); //  datum formatieren
      
      $ausgabe = $template;
      
 $ausgabe = str_replace("{von}",'<a href http://../pr.php?user=' . $von . '">' . $von . '</a>',$ausgabe); // von ins template einsetzen
      $ausgabe = str_replace("{titel}",$titel,$ausgabe);  // titel ins template einsetzen
      $ausgabe = str_replace("{datum}",$datum,$ausgabe); // datum ins template einsetzen
  
  $ausgabe = str_replace("{anzahl}",$ppu[$von],$ausgabe);
      $ausgabe = str_replace("{text}",echo_message($post,false,true),$ausgabe); // den post text ins template einsetzen
      
 $ausgabe = str_replace("{message}",'<a href http://../post.php?show=write&amp;empfaenger=' . $von . '">Message schreiben</a>',$ausgabe); // den post text ins template einsetzen
      
      echo $ausgabe;
      
  };
  ?>

EDIT:

Ok hab das nun mal so gemacht.

PHP:
		if ($row["post"] <= 100){ // alle Beiträge unter und einschließlich 100
 		$benutzer_rang = "Neuling";
 		}
 		elseif ($row["post"] <= 500){ // alle Beiträge unter und einschließlich 500
 		$benutzer_rang = "XXX";
 		}
 		elseif ($row["post"] <= 1000){ // alle Beiträge unter und einschließlich 1000
 		$benutzer_rang = "XXY";
 		}

ist das so OK oder wurdet Ihr sagen ee du da gibts noch was besseres wie man das machen kann.

Gruß Svenja
 
Zuletzt bearbeitet:
Zurück