problem mit if anweisung

Hi,
ich habe vor ein Memberscript zu basteln und will die einzelnen squads ausgeben und die dazugehörigen Members, aber irgendwie wird nix mehr ausgegeben wenn ich eine if-anweisung einfüge ohne geht alles super nur das halt jedes Member auch die die nicht in den Squad gehören ausgegeben.
Code:
<?php
include ("connect.inc.php");
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
       <title>Title here!</title>
</head>
<body>
<?php
$result = mysql_query("SELECT * FROM team");
$num = mysql_num_rows($result);
	 for($i=0;$i < $num; $i++) {
      $squadname = mysql_result($result,$i,"squadname");
      echo "
      <table width=\"700\" border=\"0\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"5\" align=\"center\">
	   <tr>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">$squadname </td>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">members</td>
	   </tr>
	  </table>"; }
$result2 = mysql_query("SELECT * FROM members");
$num2 = mysql_num_rows($result2);
	 for($i=0;$i < $num2; $i++) {
      $squad = mysql_result($result2,$i,"squad");
      $nickname = mysql_result($result2,$i,"nickname");
      echo "
      <table width=\"700\" border=\"0\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"5\" align=\"center\">
	   <tr>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">usw.. </td>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">$nickname</td>
	   </tr>
	  </table>"; }


?>
</body>
</html>

hoffe ihr könnt mir helfen.
 
Hier nochmal mit der if-anweisung
PHP:
<?php
include ("connect.inc.php");
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
       <title>Title here!</title>
</head>
<body>
<?php
$result = mysql_query("SELECT * FROM team");
$num = mysql_num_rows($result);
	 for($i=0;$i < $num; $i++) {
      $squadname = mysql_result($result,$i,"squadname");
      echo "
      <table width=\"700\" border=\"0\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"5\" align=\"center\">
	   <tr>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">$squadname </td>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">members</td>
	   </tr>
	  </table>"; }
$result2 = mysql_query("SELECT * FROM members");
if ($squadname == $squad) {       // if-anweisung
$num2 = mysql_num_rows($result2);
	 for($i=0;$i < $num2; $i++) {
      $squad = mysql_result($result2,$i,"squad");
      $nickname = mysql_result($result2,$i,"nickname");
      echo "
      <table width=\"700\" border=\"0\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"5\" align=\"center\">
	   <tr>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">usw.. </td>
		<td bgcolor=\"#FFFFFF\" width=\"50%\">$nickname</td>
	   </tr>
	  </table>"; }
}


?>
</body>
</html>
 
hmm... also, codefehler sehe ich keinen.
Hast du dir mal $squadname unf $squad ausgeben lassen?
Spontan sieht es so aus als seien die beiden ganz einfach nicht gleich..

EDIT: Wo hat der eigentlich den wert von $squad her?
 
Ich GLAUBE ich sehs....

PHP:
$result2 = mysql_query("SELECT * FROM members"); 
if ($squadname == $squad) {       // if-anweisung 
$num2 = mysql_num_rows($result2); 
     for($i=0;$i < $num2; $i++) { 
      $squad = mysql_result($result2,$i,"squad"); 
      $nickname = mysql_result($result2,$i,"nickname"); 
      echo " 
      <table width=\"700\" border=\"0\" bgcolor=\"#000000\" cellspacing=\"1\" cellpadding=\"5\" align=\"center\"> 
       <tr> 
        <td bgcolor=\"#FFFFFF\" width=\"50%\">usw.. </td> 
        <td bgcolor=\"#FFFFFF\" width=\"50%\">$nickname</td> 
       </tr> 
      </table>"; } 
}

Du überprüfst einmal ob $squadname = $squad ist.
Danach gibst du das Gesamte $result2 innerhalb deiner schleife aus.
Und in Result2 sind nun einmal ALLE members: SELECT * FROM members.
Also, entweder am anfang jedes schleifendurchlaufes noch ein if, oder schon im Select einschränken :)
 
IMO müsste das if HINTER das for.
Denn für jeden Member muss ja einzeln überprüft werden, ob er in der Squad ist.
Dazu auch noch hinter das $squad = mysql_result(...), weil $squad ansonsten leer ist.

Viel einfacher und sinnvoller wäre aber doch, statt SELECT * FROM members einfach zu schreiben SELECT * FROM members WHERE squad = $squadname , wenn ich dein Script richtig verstanden habe. Dann kannst du dir das if gleich schenken :D

Hoffe geholfen zu haben.
Gruss
-dVrVm
 
Zurück