Ausgabe Daten sortieren geht nicht

strubel

strubel

Aktives Mitglied
Thread Starter
Dabei seit
07.07.2006
Beiträge
101
Reaktionspunkte
0
Hoi Leute,

irgendwo ist da der Wurm drin. ich bekomme immer die Fehlermeldung:

Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web/1305061215521800778637/htdocs/backend/admin/back_aktuelles.php on line 91

Meine Abrage geht so:

PHP:
include("dbconnect.php");
$sqlbase="Delete FROM tAktuelles where (Saved = 0)";			
$sql=$sqlbase;
$delete = mysql_db_query($dbName,$sql);

$Order = $_REQUEST["Order"];

if($Order == "klasse")
{
$sqlbase="SELECT FROM tAktuelles ORDER BY klasse";			
$sql=$sqlbase;
$abfrage = mysql_db_query($dbName,$sql);
}

else if($Order == "leiter")
{
$sqlbase="SELECT FROM tAktuelles ORDER BY leiter";			
$sql=$sqlbase;
$abfrage = mysql_db_query($dbName,$sql);
}
else
{
$sqlbase="FROM tAktuelles ORDER BY kursort";						
$sql=$sqlbase;
$abfrage = mysql_db_query($dbName,$sql);
}

mysql_close($db);

und in der Zeile 91 ist dann folgendes:

PHP:
*Ausgabe der Daten in einer Zeile der Tabelle*/
  while($row=mysql_fetch_array($abfrage))
  {
    echo "<tr>";
    echo "  <td align=\"left\" class=\"fliesstext_tabelle\"><div align=\"left\">".$row['klasse']."</div></td>";
	echo "  <td align=\"left\" class=\"fliesstext_tabelle\">".$row['leiter']."</td>";
	echo "  <td align=\"left\" class=\"fliesstext_tabelle\">".$row['kursort']."</td>";
    echo "  <td align=\"left\"><a href=\"back_aktuelles_detail.php?AktuellID=".$row['AktuellID']."\"><img src=\"../images/bearbeiten.gif\" alt=\"bearbeiten\" width=\"30\" height=\"31\" border=\"0\" class=\"fliesstext_tabelle\" /></a>";
    echo "  <a href=\"back_aktuelles_delete.php?AktuellID=".$row['AktuellID']."\"><img src=\"../images/delete.gif\" alt=\"l&ouml;schen\" width=\"30\" height=\"31\" border=\"0\" /></a></td>";
    echo "</tr>";
  }

also ich kann nirgends einen fehler trotz langem suchen finden. hoffe einer von euch heisst sherlock homes.

danke für jede hilfe.

gruss strubel.
 
Moin,

ist das ein Fehlersuchbild, wer die meisten findet hat gewonnen?


Versuch doch mal "SELECT * FROM...".

Ausserdem steht am Ende nur "FROM tAktuelles ORDER BY kursort".

Dann stellt sich die Frage nach dem Sinn der Zuweisung $sql=$sqlbase
und die Frage, ob man nicht die ein oder andere redundante Zeile sparen kann und ob man Daten über einen Request wirklich ungefiltert benutzen möchte und ob ECHO zur HTML-Erzeugung das gelbe vom Ei ist ;)

Ciao
Fuzzel
 
(1) es muss IMHO immer SELECT * FROM heissen, also die Spaltenliste ist IMHO Pflicht
(2) der dritten Variante fehlt der SELECT-Befehl
(3) würde ich Spalten immer explizit benennen, dann weiß man auch das und wo sie stehen. Nur die Faulen nehmen SELECT * ;)
(4) SQL-Befehle immer mit einem Client testen, auch die generierten Befehle
(5) im Fehlerfalle den Fehler vom Server auslesen!
(6) Die Generierung des SQL-String geht auch etwas übersichtlicher:

PHP:
$sqlbase="SELECT FROM tAktuelles ORDER BY ";
switch ($Order) {

case "klasse":
  $add=" klasse";
  break;
case "leiter":
  $add=" leiter";
  break;
default:
  $add=" kurort";

}
$sqlbase.=$add;
 
Zurück
Oben Unten