php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Abfragen problem, Werte aus MySQL einlesen


 
matze-pe
17-12-2008, 15:56 
 
Hallo,
ich bin neu hier und habe gleich schon ein problem:)


ich habe eine Übersichtsseite, auf der alle Bestellungen angezeigt werden.

Bei offenen Bestellungen, werden alle angeziegt, bei der das feld entscheidung_vorg = leer ist, und da hat manb die Möglichkeit diese Bestellung zu genehmigen.

Bei bearbeitete Bestellungen, werden alle Einträge angezeigt die = Ja oder = Nein sind.


<table border="0" width="600" hight="700">
<tr>
<td colspan='2'><? echo "<b>Eingeloggt als:</b> "; echo $_SESSION['user_name']; echo " ("; echo $_SESSION['abteilung'];echo ")"; ?></td>
<td><input type="button" onclick="location='logout.php'" value="ausloggen"></td>
</tr>
<tr><td colspan='3'><hr width='100%'></td></tr>
<tr valign="bottom">
<td><h3>Offene Bedarfsmeldung</h2></td>
<td><h3>genehmigen?</h2></td>
</tr>

<?php
$vorgesetzter = $_SESSION['user_name'];
if ($conn = mysql_connect("localhost","user","pw") or die(mysql_error()) )
{
mysql_select_db(bedarf,$conn) or die(mysql_error());
$sql = "select distinct bid,vorgesetzter,lieferant,user,entscheidung_vorg from bestellung where vorgesetzter = '$vorgesetzter'";
$rs = mysql_query($sql,$conn);
}

while ($row = mysql_fetch_array($rs))
{
if ($row["entscheidung_vorg"] == "")
{
echo "<tr><td><a href='javascript:ansehen($row[bid])'> $row[bid] $row[lieferant] $row[user]</a></td>
<td>
<form action='genehmiger_send.php' method='GET' enctype='text/plain'>
<input type='hidden' name='id' value='$row[bid]'>
<input type='submit' name='antwort' value='Ja'>&nbsp;<input type='submit' name='antwort' value='Nein'>
</form>
</td></tr>";
}
else {}
}

echo "<tr><td colspan='3'><hr width='100%'></td></tr>
<tr valign='bottom'>
<td><h3>Bearbeitete Bedarfsmeldung</h2></td>
<td><h3>genehmigt?</h2></td>
</tr>";

while ($row = mysql_fetch_array($rs))
{

if ($row["entscheidung_vorg"] == "Ja" || $row["entscheidung_vorg"] == "Nein")
{
echo '<tr><td><a href='javascript:ansehen($row[bid])'> $row[bid] $row[lieferant] $row[user]</a></td>
<td>'.$row[entscheidung_vorg].'</td></tr>';
}
else{}
}


echo "<tr><td colspan='3'><hr width='100%'></td></tr></table>";



Bei mir werden nur die angezeigt die = leer sind, keine bearbeiteten (liegen aber 30 stück in der Datenbank vor)

Ich vermute mal, dass mein Fehler in der zweiten while Schleife liegt.
Habt ihr da einen Tipp wie ich das verbessern kann?


Derzeit sieht es so aus:

http://img209.imageshack.us/img209/8182/luilubv4.jpg


Vielen Dank im Vorraus

Gruß
Matze

 
krel
17-12-2008, 18:01 
 
hi,
deine Frage ist ganz einfach zu beantworten..
hier

while ($row = mysql_fetch_array($rs))
{
if ($row["entscheidung_vorg"] == "")
{
echo "<tr><td><a href='java script:ansehen($row[bid])'> $row[bid] $row[lieferant] $row[user]</a></td>
<td>
<form action='genehmiger_send.php' method='GET' enctype='text/plain'>
<input type='hidden' name='id' value='$row[bid]'>
<input type='submit' name='antwort' value='Ja'>&nbsp;<input type='submit' name='antwort' value='Nein'>
</form>
</td></tr>";
}
else {}
}

durchläufst du das gesamte resultset und hast somit in der zweiten while-Schleife keine zu bearbeitenden Einträge mehr im Resultset.
Des Rätsels lösung hast du auch schon in der ersten whileschleife stehen, nämlich das else{}. In die geschweiften Klammern schreibst du nun einfach deinen Code aus der zweiten while-schleife, wobei du das if weglassen kannst


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:30 Uhr.