If-Anweisung auszählen

  • Themenstarter Themenstarter McNiko
  • Beginndatum Beginndatum
M

McNiko

Nabend, ich habe mal wieder eine Frage, wie kann man eine If-Anweisung die bestimmte bedingungen erfüllt auszählen wenn z.b. 5 dieses erfüllen, so soll er diese 5 zusammenzählen und Anzeigen, bräuchte es für ein UserOnlineScript...

Danke

mfg
 
Also wenn ich dich richtig verstanden habe, suchst du etwas in dieser Richtung hier:
PHP:
  $out = "";   if( -Bedingung 1- ) 	$out .= "erfüllt Bedingung 1
"; if( -Bedingung 2- ) 	$out .= "erfüllt Bedingung 2
"; if( -Bedingung 3- ) 	$out .= "erfüllt Bedingung 3
"; if( -Bedingung 4- ) 	$out .= "erfüllt Bedingung 4
"; if( -Bedingung 5- ) 	$out .= "erfüllt Bedingung 5
";  echo $out
 
Du könntest eine einfache Zählervariable einsetzen, etwa:
PHP:
$i = 0;
if( true && $i++ ) {
	// …
}
if( false && $i++ ) {
	// …
}
echo $i.' Bedingungen erfüllt';
 
Also mein Script sieht jetzt so aus:

PHP:
<?

# Verbindung
include("verbindung.php");

# SQL Code
$szMySQL = "SELECT * FROM user ORDER BY UserID ASC LIMIT 50";
$sqlErgebnis = mysql_query($szMySQL);

# Ausgabe
while($sqlRowMySQL = mysql_fetch_object($sqlErgebnis))
{

if ($sqlRowMySQL->Lastactivation <= time()-3*60)
   {
   }
else 
   {
  echo ('<a href="user.php?UserID='.$sqlRowMySQL->UserID.'"><b>'.$sqlRowMySQL->Username.'</b></a>&nbsp;<img src="images/page/online.gif" alt="Online"><br>');
   }

}

?>

...hab es extra nochmal aufgeräumt :-)

Wo soll es den da eingebaut werden, habe mit true und false noch nicht gearbeitet, bei mir gibt der immer 1 aus!

danke
 
Das „true“ und „false“ sollte in meinem Beispiel verdeutlichen, wie sich die Zählervariable verhält, wenn der vorhergehende Ausdruck zu wahr beziehungsweise falsch evaluiert wird. Wichtig ist dabei, dass die Inkrementierung der Zählervariable am Ende des gesamten Ausdrucks steht.
 
So?

PHP:
<?

# Verbindung
include("verbindung.php");

# SQL Code
$szMySQL = "SELECT * FROM user ORDER BY UserID";
$sqlErgebnis = mysql_query($szMySQL);

# Ausgabe
while($sqlRowMySQL = mysql_fetch_object($sqlErgebnis))
{

$i = 0;
if ($sqlRowMySQL->Lastactivation <= time()-3*60 && $i++)
   {
   }
else 
   {
  echo ('<a href="user.php?UserID='.$sqlRowMySQL->UserID.'"><b>'.$sqlRowMySQL->Username.'</b></a>&nbsp;<img src="http://www.tutorials.de/forum/images/page/online.gif" alt="Online"><br>');
   }

}

?>

mfg

EDIT: Klappt so nicht, kann es jemand noch einmal genauer erklären?
 
Zuletzt bearbeitet von einem Moderator:
Du musst schon selbst wissen, was du zählen möchtest. Was funktioniert denn nicht? Du kannst auch die Inkrementierung der Zählervariable auch innerhalb des Konstruktzweigs notieren:
PHP:
$i = 0;
if( $sqlRowMySQL->Lastactivation > time()-3*60 ) {
	$i++;
	echo '<a href="user.php?UserID='.$sqlRowMySQL->UserID.'"><b>'.$sqlRowMySQL->Username.'</b></a>&nbsp;<img src="http://www.tutorials.de/forum/images/page/online.gif" alt="Online"><br>';
}
 
PHP:
# Ausgabe
while($sqlRowMySQL = mysql_fetch_object($sqlErgebnis))
{

$i = 0;
if ($sqlRowMySQL->Lastactivation <= time()-3*60)
   {
   }

else
   {
    $i++;
  echo ('<a href="user.php?UserID='.$sqlRowMySQL->UserID.'"><b>'.$sqlRowMySQL->Username.'</b></a>&nbsp;<img src="images/page/online.gif" alt="Online"><br>');
   }

echo $i;

}

so gibt er 100000 aus, also er überprüft für jeden user ob er on ist


mfg
 
Zurück