[Funktion] Finde den Fehler nicht....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Finde den Fehler nicht....

    Hallo,

    ich erhalte bei folgender Datei immer folgenden Fehler:

    ARTNUMJAFehler bei der SQL Abfrage


    Wo ist der Fehler ?


    Code:
    <?php
    
    session_start();
    
    require "config.inc.php";
    
    echo "$sortieren";
    
    IF ( !isset($spalte_tab)  )
    
    {
    
    $_SESSION["spalte_tab"]="";
    $_SESSION["sort_ok"]="NEIN";
    
    }
    
        ELSE                                     
    {                                            
    
    $_SESSION["spalte_tab"]= $spalte_tab;
    $_SESSION["sort_ok"]= "JA";
    
    echo "$sort_ok";
    }
    
    //if(isset($_SESSION["spalte_tab"])) { $sortiert = &$_SESSION["sortiert"]; }
    //if ( isset($_SESSION["sortier_spalte"]) )  { $sortier_spalte = &$_SESSION["sortier_spalte"]; } 
    
    
    $spalte_tab = $_SESSION["spalte_tab"]; 
    $sort_ok = $_SESSION["sort_ok"];
    
     $query= ( $sort_ok=="JA" ) ? "SELECT ARTNUM, KURZNAME ,LANGNAME,
    SHOP_IMAGE, VK5 FROM ARTIKEL ORDER BY $spalte_tab ASC":
    
     "SELECT ARTNUM, KURZNAME ,LANGNAME, SHOP_IMAGE, VK5 FROM ARTIKEL";
    	   
     $res = mysql_query($query);             
    
     IF ($res)
     	
     {
     echo "<table border=1>";
    	
     echo "<TR>";
     
     while($spalteninfo = mysql_fetch_field($res)) 
    
       { 
         echo " <A HREF=\"ausgabe.php?sortieren=$spalteninfo->name&spalte_tab=$spalte_tab&
         sort_ok=$sort_ok\" > $spalteninfo->name ";
         echo "</A>"; echo ";
       }
      echo "</TR>";  
     // Ende Tabellenkopf
     
     while ($zeile= mysql_fetch_array($res, MYSQL_NUM))
       
       {
         echo "<TR>";
         
          foreach ($zeile as $elm)      
          
          {
            if ($elm)
              {
    	   echo "<TD>$elm</TD>";
    	  }
            else
              {
    	   echo "<TD><br></TD>";
    	  }
          }
         echo "</TR>";
       }
    
     echo "</table>";
     
     }
     ELSE
     {
     echo "Fehler bei der SQL Abfrage";
     }
     
    
    ?>
    Zuletzt geändert von TobySpringer; 10.05.2005, 09:59.

  • #2
    Bitte editiere dein Posting, PHP-Tags und Umbrüche rein.

    PHP-Code:
    $res mysql_query($query) or die(mysql_error()); 

    Kommentar


    • #3
      Original geschrieben von onemorenerd
      Bitte editiere dein Posting, PHP-Tags und Umbrüche rein.


      Was soll ich dazu sagen ? Umbrüche sind drin, und warum soll ich bei jedem <td> php schliessen und öffnen, wenn es auch per echo "<td>"; geht ?



      Original geschrieben von onemorenerd
      PHP-Code:
      $res mysql_query($query) or die(mysql_error()); 
      PHP-Code:
      $res mysql_query($query) or die(mysql_error()); 

      ergibt:


      ARTNUMJAYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC' at line 1

      Kommentar


      • #4
        Hallo,

        Umbrüche sind drin, aber erst so spät, dass es bei meiner 1280er Auflösung noch querscrollt -> Umbrüche früher setzen!

        Außerdem sollst du die PHP-Formatierung für deinen Code verwenden, damit der Code gehighlighted wird.

        Mach mal
        PHP-Code:
        echo $query
        eine Zeile vor
        PHP-Code:
        $res mysql_query($query); 
        rein und sieh dir damit die Ausgabe des Query-strings an.

        Gruss
        Quetschi
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Ergebnis:

          SELECT ARTNUM, KURZNAME ,LANGNAME, SHOP_IMAGE, VK5 FROM ARTIKEL ORDER BY ASCYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC' at line 1

          Kommentar


          • #6
            SELECT ARTNUM, KURZNAME ,LANGNAME, SHOP_IMAGE, VK5 FROM ARTIKEL ORDER BY ASC
            Fällt dir was auf? Da fehlt die Spalte nach der sortiert werden soll.
            Also solltest jetzt in deinem Script mal suchen, warum in der Variable $spalte_tab nichts drinsteht.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Der User selbst soll die Möglichkeit haben, manuell nach den verschiedenen Spalten zu sortieren.

              Nun hab ich die Datei komplett umgestrickt und es funktioniert wieder nicht....

              Kommentar


              • #8
                Dann musst du für $spalte_tab; einen Standardwert angeben, falls keine Sortierspalte gewählt wurde.

                PHP-Code:
                if(empty($spalte_tab))
                {
                    
                $spalte_tab "deine_Standardspalte";

                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  Ich hab es jetzt folgendermassen:


                  PHP-Code:
                  <?php
                   
                   
                  require "config.inc.php";

                   echo 
                  "$spalte<BR>";
                   echo 
                  "$sortiert";  
                   
                  $sortiert=0;

                  if ( !(
                  $sortieren=="")  )

                  {

                  $sortieren=$_GET["sortieren"];
                  $krit=$_GET["krit"];
                  $name=$_GET["name"];

                  }

                      ELSE                                      
                  //Neue Suche  oder erste Suche  SONST==> wird es sortiert.
                  {                                             // Reset aller globalen Arrays

                  unset($_GET["krit"]);
                  unset(
                  $krit);
                  unset(
                  $_GET["name"]);
                  unset(
                  $name);

                  }







                  if (!$ 
                  _GET['sortieren']==1)
                  {
                   
                  $spalte=isSet($_GET['spalte']);
                   
                  $spalte =$_GET['spalte'];
                   
                  $sql "SELECT ARTNUM, KURZNAME ,LANGNAME, SHOP_IMAGE, VK5 FROM ARTIKEL ORDER BY $spalte ASC";
                   echo 
                  $sql."<br>";
                   
                  $res mysql_query($sql);             
                   }
                   ELSE
                   {
                   
                  $res mysql_query("SELECT ARTNUM, KURZNAME ,LANGNAME, SHOP_IMAGE, VK5 FROM ARTIKEL ");             
                   }
                  Beim Aufrufen dieser Datei wird der Bereich

                  PHP-Code:
                  if (!$ _GET['sortieren']==1
                  mit abgearbeitet, obwohl es das genau NICHT tun soll..... Das heisst, $spalte ist beim ersten Aufruf der Seite leer, folglich kann SORT BY nicht ausgeführt werden. Aber warum geht das Script über die IF-Abfrage hinaus ?

                  Kommentar


                  • #10

                    und wenn du nochmal ganz von vorne anfängst?

                    Hier ein gern genommenes TUT

                    PHP-Code:
                    if (!$ _GET['sortieren']==1
                    Das ist schon Hardcore.

                    PHP-Code:
                    $spalte=isSet($_GET['spalte']);
                     
                    $spalte =$_GET['spalte']; 
                    Was denn nun?

                    Du solltest dich wirklich nochmal mit den Grundlagen befassen.
                    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                    Schön - etwas Geschichte kann ja nicht schaden.
                    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                    Kommentar

                    Lädt...
                    X