Tabelle je nach QUERY_STRING zweifach abfragen

Baue mal in dein 2. Skript var_dump($ordner); ein. Ich glaube das der Wert des Ordner nicht richtig übermittelt wird.
 
Einfach gleich über das

Code:
 <?php 
var_dump($ordner);
if(is_null($Year) AND is_null($Ordner)) 
{ 
  $abfrage="Select * FROM tabelle"; 
  $ergebnis = mysql_query($abfrage,$db); 
}
Und dann mal einen Link auswählen wo ein Ordner und ein Jahr übergeben wird.
 
Folgendes habe ich noch vergessen gehabt zu erwähnen:
Wenn ich auf den Link mit Year und Ordner klicke, kommt die Fehlermeldung
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource
Ich habe allerdings in die Links das &amp; eingebaut:
PHP:
echo "<li><a href=\"http://host.de/lang/templates/galerie2.php";
echo $Link;
echo "Year=2005&amp;Ordner=$data_2005->Ordner\">$data_2005->Ordner</a></li>";
Doch dieses wird nicht übergeben. Erst wenn ich das &amp; in die Adresse einfüge und Enter drücke, erscheint die Ausgabe, nur halt mit allen Bildern des Jahres.

Wenn ich jetzt das var_dump($ordner); über die If-Schleifen packe, gibt die Seite "NULL" über die Ausgabe der Bilder aus, welche immer noch Alle ausgibt.
 
Nehme mal bei deinen ganzen ändere mal deine mysql_query($ergebnisse, $db) in mysql_query($ergebnisse) um. Nimm einfach überall das $db raus.
var_dump($ordner) sollte eigentlich den Datentypen und den Wert deiner Variablen $Ordner sein. Lass das mal drinnen. Dadurch siehst du ob deine Parameter richtig übergeben wurden.
 
Mhm, wie gesagt. Die NULL steht über der Ausgabe. Dort soll dann der Ordnername stehen, verstehe ich dich da richtig!?
Ansonsten ist alles beim Alten geblieben.
Willst du dir das Ganze mal in Aktion anschauen? Vielleicht siehst du dann mehr, oder verstehst das Ganze erst ;)
 
Ja das wäre wahrscheinlich das beste. Weiß aber nicht wie ich zeitlich dazukomme. Mache das im Moment nur "nebenbei". var_dump() ist eine Funktion von PHP mit der du den Inhalt und den Datentyp einer Variablen überprüfen kannst.
 
Also, ich habe eben glücklicherweise einen Fehler festgestellt. Ich hatte Ordner im var_dump() falsch geschrieben. Jetzt gibt er Folgendes aus: string(10) "Fotosafari"
Danach kommt immer noch die Fehlermeldung.
Ich schicke dir eine PN mit der Adresse.
Vielen Dank für deine Mühen.
 
Also ich gehe ja eigentlich nur noch davon aus, dass am Abfragestring was nicht in Ordnung ist, da der ganze Rest ja funktioniert. Dass ich zwei Variablen mit AND abfragen lasse ist in Ordnung!? Denn es geht ja nur bei der zweifachen Abfrage schief!

$abfrage="SELECT * FROM Fotografie_Ideavision WHERE Year = $Year AND Ordner = $Ordner ";
 
Ich habe den Fehler gefunden. Es war mal wieder ein Anfängerfehler. Es haben zwei Anführungszeichen gefehlt:

PHP:
<?php 
if(is_null($Year) AND is_null($Ordner)) 
{ 
  $abfrage="Select * FROM tabelle"; 
  $ergebnis = mysql_query($abfrage,$db); 
} 
if($Year !="" AND is_null($Ordner)) 
{ 
  $abfrage="SELECT * FROM tabelle WHERE Year = $Year "; 
  $ergebnis = mysql_query($abfrage,$db); 
} 
if($Year !="" AND $Ordner !="") 
{ 
  $abfrage="SELECT * FROM tabelle WHERE Year = $Year AND Ordner LIKE \"$Ordner\""; 
  $ergebnis = mysql_query($abfrage,$db); 
} 
$z = 1; 
while ($data = mysql_fetch_object($ergebnis)) 
{ 
  echo "<td width=\"33%\"><a href=\"http://host.de/lang/templates/bildview2.php"; 
  echo $Link; 
  echo "dbind=$data->id\"><img src=\"http://host.de/images/data/thumbs/$data->id.jpg\" align=\"left\" height=\"100\" style=\"border-width:1px; border-style:solid; border-color:#FFFFFF;\"></a></td>"; 
  if ($z > 3) 
  { 
    echo "</tr><tr height=\"5\"><td></td></tr><tr>"; 
    $z = 0; 
  }; 
  $z++; 
}; 

?>

PHP:
 $abfrage="SELECT * FROM tabelle WHERE Year = $Year AND Ordner LIKE \"$Ordner\"";
LIKE \"$Ordner\"

Trotzdem vielen Dank an Alle, die mir geholfen haben!

MFG
Martin Tränker
 

Neue Beiträge

Zurück