Komisches PHP-Problem in function()

AngstHab

Mitglied
Hi

Hab ein Problem mit einer function():

PHP:
.
.
. 
$z = 0;

 	while ($test = mysql_fetch_array ($ergebnis_a))
 	       {

	       var_dump ($id_1);
	       var_dump ($test[ID_1]);

	       if($id1 == $test[ID_1])
	         {
 	         echo "<br>";
 	         $test = $test['ZIEL'];
  	         echo "<a href=\".testlink.php\">$test</a>";
  	         $z = $z + 1;
	         }
		else
		   {
		   $z = $z - 1;
		   }
	        }
  	         if($z == 0)
    		  {
    		  echo "&nbsp;";
    		  }
.
.
.
Dies ist der Code, der mir Kopfzerbrechen macht!
Wenn bei den beiden var_dump ein Identische Ergebnis rauskommt, wird der Link nicht ausgegeben und wenn kein identisches Ergebnis rauskommt, wird der Link auch nicht ausgegeben!
Weiterhin hab ich das == durch === und = ersetzt, was ein verblüffendes Ergebnis liefert, nähmlich, das selbe, als würd ich das if,else weglassen!

Woran kann das liegen?

mfg AngstHab
 
Zuletzt bearbeitet:
Was macht es dann wenn es nicht richtig funkioniert?

Was ich dir schon zum voraus sagen kann ist, dass === nicht nur die Werte der beiden Variablen überprüft, sondern auch deren Typ, und ein einfaches = weist einen Wert zu, also nicht zum überprüfen von Werten geeignet ;)

// edit: Hast du schonmal probiert die beiden Variablen auszugeben vor dem überprüfen ob sie gleich sind? Evtl. ist da ein Space zu viel oder zu wenig?! Und was passiert wenn du das var_dump() direkt beim üperprüfen machst, also

PHP:
if(var_dump($id1)) == var_dump($test[ID_1]))
 
Zuletzt bearbeitet:
Koennte es vielleicht daran liegen, dass Du erst $id_1 schreibst und spaeter $id1?

Siehe:
PHP:
var_dump ($id_1);
var_dump ($test[ID_1]);

if($id1 == $test[ID_1])
 
Dennis Wronka hat gesagt.:
Koennte es vielleicht daran liegen, dass Du erst $id_1 schreibst und spaeter $id1?

Siehe:
PHP:
var_dump ($id_1);
var_dump ($test[ID_1]);

if($id1 == $test[ID_1])

Hm übersehen ;) Naja in der Schweiz ist es 16:00 Uhr und Zeit um nach Hause zu gehen ;)
 
PHP:
.
.
. 
$z = 0;

     while ($test = mysql_fetch_array ($ergebnis_a))
            {

           var_dump ($id_1);
           var_dump ($test[ID_1]);

           if($id_1 == $test[ID_1])
             {
              echo "<br>";
              $test = $test['ZIEL'];
               echo "<a href=\".testlink.php\">$test</a>";
               $z = $z + 1;
             }
        else
           {
           $z = $z - 1;
           }
            }
               if($z == 0)
              {
              echo "&nbsp;";
              }
.
.
.

Vertippt, beim umschreiben für Forum, hab nat. andere Variablen und DB-Spaltennamen! ;)

Die beide var_dump zeigen, wie schon oben beschrieben, bei den passenden Datensatz übereinstimmende Ergebnisse, aber das Ziel, den Testlink sichtbar zu machen, reultiert dadurch leider nicht!

Vielen Dank für die schnelle Antwort!

mfg AngstHab
 
Zurück