DB inhalt altersabhängig auslesen

GalaxyWarrior

Erfahrenes Mitglied
Hi, ich habe ein kleines Script geschrieben, in dem Kampfberichte eingetragen werden können ( online Game ) . Es sollen aber nur die Berichte der letzten 7 Tage angezeigt werden. Habe es so probiert, aber das geht nicht:

PHP:
<?

function order_by_name ($i,$attnum,$vorher,$aktuell) {
   if($vorher){
	   if (strtolower($vorher) != $aktuell) { 
			if($i == 3){
				echo "<table width='100%' border='0'><tr><td colspan='3' bgcolor='FF9900'>In den letzten 7 Tagen wurden ".$i." Atts auf ".$vorher." gefahren.  NICHT MEHR ATTEN </td></tr><tr><td><br><br></td></tr><tr><td colspan='3' class='line'> ".$aktuell." </td></tr></table>\n"; 
			}elseif($i > 3){
				echo "<table width='100%' border='0'><tr><td colspan='3' bgcolor='FF0000'><font color='ffffff'>In den letzten 7 Tagen wurden ".$i." Atts auf ".$vorher." gefahren   ZU VIELE ATTS IN DEN LETZTEN 7 TAGEN </font></td></tr><tr><td><br><br></td></tr><tr><td colspan='3' class='line'> ".$aktuell." </td></tr></table>\n"; 
			}else{
				echo "<table width='100%' border='0'><tr><td colspan='3' bgcolor='00FF00'>In den letzten 7 Tagen wurden ".$i." Atts auf ".$vorher." gefahren</td></tr><tr><td><br><br></td></tr><tr><td colspan='3' class='line'> ".$aktuell." </td></tr></table>\n"; 
			}
	   } 
   }
}                    
                     $i = 0;
                     $tag = 86400;
                     $tage = 7;
                     $t = time();
	$select1 = "SELECT * FROM kb ORDER BY 'Opfer' ASC";
	$result1 = mysql_query($select1) or die("MySQL query fehlerhaft".mysql_error());

	while($daten = mysql_fetch_array($result1)){
                                          $zeit = $t-($tag*$tage);
                               if($daten[Time] > $zeit){          
                                          if($daten[Time] > $zeit){
			$i++;
		}
		order_by_name($i,$attnum,$vorher,strtolower($daten[Opfer])); 
		if($daten[Time] > $zeit){
			$i++;
		}else{
			$i--;
echo "Minus";
		}
		if(strtolower($vorher) != strtolower($daten[Opfer])){
			$i = 0;
		}
		$vorher = $daten[Opfer];

		?>
	<table width="700" border="0">
		<tr>
			<td width="300"><? echo $zeit."<br>".$daten[Time].date("H:i:s d.m.Y",$daten[Time]).$daten[Angreifer]; ?></td><td width="300" align="left"><? echo $daten[Opfer]; ?>
			  <div align="left"></div></td><td align="left" width="100"><? echo "<a href=".$daten[Link].">Kampfbericht</a>"; ?></td>
		</tr>
	</table>
<?
$last = $daten[Opfer];
	}
}
	
	$select = "SELECT * FROM kb WHERE `Opfer`= '$last'";
	$result = mysql_query($select) or die("MySQL query fehlerhaft".mysql_error());
	$attnums = mysql_num_rows($result); 

	
	if($attnums == 3){
		echo "<table width='100%' border='0'><tr><td colspan='3' bgcolor='FF9900'>In den letzten 7 Tagen wurden ".$attnums." Atts auf ".$last." gefahren.  NICHT MEHR ATTEN </td></tr></table><br><br><br>\n"; 
	}elseif($attnums > 3){
		echo "<table width='100%' border='0'><tr><td colspan='3' bgcolor='FF0000'><font color='ffffff'>In den letzten 7 Tagen wurden ".$attnums." Atts auf ".$last." gefahren   ZU VIELE ATTS IN DEN LETZTEN 7 TAGEN </font></td></tr></table><br><br><br>\n"; 
	}else{
		echo "<table width='100%' border='0'><tr><td colspan='3'  bgcolor='00FF00'>In den letzten 7 Tagen wurden ".$attnums." Atts auf ".$last." gefahren</td></tr></table><br><br><br>\n"; 
	}
	
?>

Hat jemand ne Idee?
Gruß GalaxyWarrior
 
Es wird die Tabelle ausgegeben, egal ob sie nun Älter ist als 7 Tage oder nicht. Ich hatte gehofft, dass es eine MySQL Funktion gibt, die das hier macht:

WHERE `Time` >= '$time'

Oder sowas in der Art, da ich ja einen PHP Timestamp als int in die Datenbank geschrieben habe.

Gruß GalaxyWarrior
 
Zurück