[MYSQL] Wo ist der Fehler?

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

  • [MYSQL] Wo ist der Fehler?

    Wenn ich nach einem Buchstaben sortieren lasse funktioniert es. Wenn ich nach Kategorie sortieren will findet er keine Datensätze.

    Ich habe schon verschiedenes Probiert aber es geht nicht.

    Link zur Seite

    PHP-Code:
    function PrintTopics() 

        {
        global 
    $db;

    // Stellt fest ob ein Buchstabe gewählt wurde     
    $letter = ( isset($_GET['letter']) && !empty($_GET['letter']) && (trim($_GET['letter'])!="") ) ? $_GET['letter'] : FALSE;

    // Stellt fest ob eine Kategorie gewählt wurde
    $cat = ( isset($_GET['c']) && !empty($_GET['c']) && (trim($_GET['c'])!="") ) ? $_GET['c'] : FALSE;  

    $query 
    SELECT 
            a.id, a.catid, a.userid, a.topic, a.abstract, a.visits, a.datum, a.url, 
            b.name, b.userid, 
            c.catid, c.beschreibung 
    FROM 
            tut_dokument a 
    INNER JOIN 
            tut_autoren b, 
            tut_kategorie c 
    WHERE a.catid=c.catid AND a.userid=b.userid"

    if(
    $letter$query.= " AND a.topic LIKE '".$letter."%' ";
    if(
    $cat$query.= " a.catid=$cat AND a.userid=b.userid ";
    $query .= " ORDER BY datum DESC "

    $sqlab $db->query($query); 
         
      if(
    mysql_num_rows($sqlab) == 0
             { 
                echo 
    "Keine Datensätze gefunden"
           }


     
    // Ausgabe der Datensätze    

        
    $alt="0";

        while (
    $row $db->data($sqlab)){
     
     
    // Kategorie ermitteln
        
    if($row[catid] != $alt)
        
     
    // Kategorie Namen in einer Tabelle ausgeben    
        
    echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">
      <tr> 
        <td> 
          <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\" class=\"t4\">
            <tr bgcolor=\"#FFFFFF\"> 
              <th bgcolor=\"#D2D9E6\"> 
                <div align=\"left\">Kategorie:&nbsp;
    $row[beschreibung]</span></div>
              </th>
            </tr>
          </table>
        </td>
      </tr>
    </table>"
    ;

     
    // Wenn die Kategorien gleich sind dann
        
    if ($alt $row[catid]);
        include(
    "./inc/vartut.php");
        echo (
    $template);
        }
        } 
    in der ruhe liegt die kraft

  • #2
    - lass dir mal die zusammengesetzten queries mit echo ausgeben
    -- teste die mal im pma => ergebnis?
    -- evtl mal "explain" davor setzen
    Kissolino.com

    Kommentar


    • #3
      PHP-Code:
      if($letter$query.= " AND a.topic LIKE '".$letter."%' ";
      if(
      $cat$query.= " a.catid=$cat AND a.userid=b.userid "
      Aus welchem Grunde hast Du wohl in der ersten Zeile vor a.topic ein AND stehen ... und in der 2. Zeile vor a.catid nicht ... ?!

      Wenn Du 'ne Fehlerausgabe generieren würdest könntest Du Dir die eine oder andere blöde Frage sparen ... !
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        Das ist ja genau das Problem das ich habe. Ich weis nicht, wie ich das mit dem Where schreiben muss damit er die Abfragen richtig ausführt.

        Habe gestern den ganzen Tag rum Probiert und verschiedene Schreibweisen probiert. Aber entweder macht er überhaupt keine Sortierung oder er zeigt mir jeden Datensatz mit Kopfzeile einzeln an oder gar keine Daten etc. .
        in der ruhe liegt die kraft

        Kommentar


        • #5
          ich zitiere wurzel mal ....
          Original geschrieben von Wurzel
          - lass dir mal die zusammengesetzten queries mit echo ausgeben
          -- teste die mal im pma => ergebnis?
          -- evtl mal "explain" davor setzen
          ... und dann solltest du dir auch mal den syntax richtig anschauen. der JOIN ist definitiv fehlerhaft
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Wie soll das funktionieren, da komm ich nicht ganz klar.

            - lass dir mal die zusammengesetzten queries mit echo ausgeben
            in der ruhe liegt die kraft

            Kommentar


            • #7
              PHP-Code:
              echo $query
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X