PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP, MySQl Abfrage


aVenger
2010-08-16, 22:23:51
Hallo erstmal.

Ich habe eine PHP Abfrage welche mir anhand von MYSQL Daten HTML Tabellen erstellen soll.
Jedesmal wenn ein neuer Kunde (als eine neue KundenID) kommt soll eine neue Tabelle erstellt werden.
Ich bekommen jedoch nur 1 Datensatz zurück geliefert aber finde den Fehler im Syntax nicht. (Ist wahrscheinlich eh offensichtlich)

Die Variable $überfällig begrenzt nur die Datenmenge welche angezeigt wird anhand von einem errechneten Datum.

<?php

include("./connection.php"); //db verbidung

$sql="select fl.produkt AS Produkt, fl. Lieferdatum AS Lieferdatum, fl.mieteab as Mieteab,
fl.rechnungsnr as Renr, fl.nummer AS Nummer, ku.ID AS KundenID, ku.Name AS KundenName,
ku.Ort AS Ort, ku.Strasse AS Strasse, ku.Telefon AS Telefon
from flaschen AS fl
JOIN kunden AS ku ON fl.KID = ku.ID ORDER BY KundenName, Lieferdatum";


$result = mysql_query($sql);
$k1="";
$k2="";

echo "<h1>:: &Uuml;berf&auml;llige Flaschen</h1>";
//aufbau der tabelle zum anzeigen
if($result)
{
//anzeige der projekte

for ($i = 0; $i < mysql_num_rows($result); $i++)
{

$datensatz=mysql_fetch_assoc($result);
$k1=$datensatz["KundenID"];
$ueberfaellig = date("Y-m-d",strtotime("+181 day", strtotime($datensatz["Lieferdatum"])));
if($ueberfaellig <= date('Y-m-d')) {

if($i=0 || $k1 != $k2)
{
if($i!=0 && $k1 != $k2) echo "</TABLE>";
echo $datensatz["KundenName"]." <BR> ".$datensatz["Ort"]." - ".$datensatz["Strasse"];
echo "<TABLE>";
echo "<TR>";
echo "<TD style=\"width:160px\">Flaschennummer</TD><TD style=\"width:160px\">Produkt</TD><TD style=\"width:90px\">Lieferdatum</TD><TD style=\"width:90px\">Miete ab</TD><TD style=\"width:90px\">Re.Nr.</TD>";
echo "</TR>";

}
echo "<TR style=\"color:RED; font-weight:bold\">";
echo "<TD>". $datensatz["Nummer"] ."</TD><TD>". $datensatz["Produkt"] ."</TD><TD>". $datensatz["Lieferdatum"] ."</TD>
<TD>". $datensatz["Mieteab"] ."</TD><TD>". $datensatz["Renr"] ."</TD><TD>ED</TD><TD>DE</TD>";
echo "</TR>";

}
$k2=$datensatz["KundenID"];
}
}
?>

aVenger
2010-08-16, 22:31:09
Die Tabelle welche ich mit dem SQL Befehl erhalte sieht wie auf dem Screenshot aus.
Anhand der Variable $überfällig werden dann nur noch die rot markierten Datensätze angezeigt

Coda
2010-08-17, 01:29:06
Bitte verwendet doch PDO und prepared statements. Das mysql_*-Interface sollte man aus vielerlei Gründen nicht mehr einsetzen.

robobimbo
2010-08-17, 11:06:12
if($i=0 ....


Das ist eine Zuweisung und kein Vergleich :)