Ich habe ein script indem eine Datenbank Tabelle abgefragt wird, Inhallt 5 Einträge :
in dieser while schleife frage ich eine weitere Tabelle ab Inhallt mommentan 1 Eintrag :
Die Tatsache das in der ersten 5 Einträge also Zeilen drin sind , und in der zweiten nur ein eintrag bzw. eine Zeile. Kommt es zu Komplikationen.
Was kann ich machen um die abfrage der zweiten DB Tabelle so zu gestallten das die Abfrage tatsächlich nur so offt gemacht wird nach der Anzahl der einträge .
Jetziger Code außschnitt der betroffenen Stelle
Das Problem zeigt sich so . Der erste Eintrag wird koreckt gemacht und auch koreckt an die Variablen in der if übergeben . Da aber nur 1 Eintrag in der zweiten DB Tabelle ist , bekommen die Variablen in der if bei den weiteren 4 Einträgen der ersten DB Tabelle die werte des ersten Eintrags.
Ich möchte gerne das bei leerläufen folgendes in den IF Variablen steht.
Also in etwa so etwas wie
Wie geht das ?
LG Andy
PHP:
$query = "SELECT * FROM goldie_s20";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
in dieser while schleife frage ich eine weitere Tabelle ab Inhallt mommentan 1 Eintrag :
PHP:
$sQuery = "SELECT * FROM time_s20 WHERE eintragid = '".$row['IDnum']."' ";
$rAttackResult = mysql_query($sQuery);
while ($aAttacks = mysql_fetch_assoc($rAttackResult)) {
Die Tatsache das in der ersten 5 Einträge also Zeilen drin sind , und in der zweiten nur ein eintrag bzw. eine Zeile. Kommt es zu Komplikationen.
Was kann ich machen um die abfrage der zweiten DB Tabelle so zu gestallten das die Abfrage tatsächlich nur so offt gemacht wird nach der Anzahl der einträge .
Jetziger Code außschnitt der betroffenen Stelle
PHP:
$query = "SELECT * FROM goldie_s20 ORDER BY Jahr DESC, Monat DESC, Tag DESC, Stunde DESC, Minute DESC LIMIT $offset, $rowsPerPage";
$result = mysql_query($query);
$anz = mysql_num_rows($result);
if($anz > 0){
while($row = mysql_fetch_assoc($result)){
if($i%2==0) { $trcolor = "#003333"; } else { $trcolor = "#005555"; }
// ************************************************ Countdown part two Start
echo '<tr bgcolor="'.$trcolor.'">';
$sQuery = "SELECT * FROM time_s20 WHERE eintragid = '".$row['IDnum']."' ";
$rAttackResult = mysql_query($sQuery);
while ($aAttacks = mysql_fetch_assoc($rAttackResult)) {
if ($aAttacks['userid'] == $iUserID && $aAttacks['time'] >= time() )
{
$iAttackable = 1;
$iAttackgif = "Block.gif";
$countb = (($aAttacks['time'] - time())-3600) ;
$count = date("H:i:s", $countb);
}
else
if ( $aAttacks['timea'] >= time() )
{
$iAttackable = 2;
$iAttackgif = "Block_d.gif";
$countb = (($aAttacks['timea'] - time())-3600) ;
$count = date("H:i:s", $countb);
}
else
if ($aAttacks['userid'] != $iUserID )
{
$iAttackable = 3;
$iAttackgif = "OK.gif";
$count = '';
}
}
Das Problem zeigt sich so . Der erste Eintrag wird koreckt gemacht und auch koreckt an die Variablen in der if übergeben . Da aber nur 1 Eintrag in der zweiten DB Tabelle ist , bekommen die Variablen in der if bei den weiteren 4 Einträgen der ersten DB Tabelle die werte des ersten Eintrags.
Ich möchte gerne das bei leerläufen folgendes in den IF Variablen steht.
PHP:
$iAttackable = 3;
$iAttackgif = "OK.gif";
$count = '';
Also in etwa so etwas wie
PHP:
$sQuery = "SELECT * FROM time_s20 WHERE eintragid = '".$row['IDnum']."' ";
$rAttackResult = mysql_query($sQuery);
while ($aAttacks = mysql_fetch_assoc($rAttackResult)) {
IF ($aAttacks == false)
$iAttackable = 3;
$iAttackgif = "OK.gif";
$count = '';
...
Wie geht das ?
LG Andy