tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von Flex
  • 1 Beitrag von Maniac
  • 1 Beitrag von Maniac
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
360
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von TheJoker
    TheJoker TheJoker ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    Frauenfeld (Schweiz)
    Beiträge
    11
    Guten Tag

    Ich schreibe gerade eine relativ umfangreiche Webapplikation zur Auftragsverwaltung.

    Nun benötige ich dazu eine Suchfunktion.
    Ich hab schon gegooglet und die Forensuche benützt. Dabei habe ich auch mehrere sachen gefunden, sah allerdings immer in etwa so aus, wie ich mir das gebastelt habe.

    Das Problem bei meinem Script ist, dass es keine Exception wirft. Sprich der Code ist I.O. Es muss demach ein Logisches Problem der Abfrage sein.

    Die Abfrage Joint mehrere Tabellen zusammen zu der Tabelle Auftrag.

    PHP-Code:
    $search char($_POST['sufu_auftrag']);
            
    $sql "SELECT a.aid, a.startdatum, a.enddatum, v.vid, v.titel, v.text, g.gid, g.beschreibung, u.uid, u.name, k.kid, k.vorname, k.nachname, s.sid, s.status, p.pid, p.name, a.erfasst, a.letzte_durchfuehrung, a.aktiv
        FROM auftrag a
        JOIN vorlagen v ON v.vid = a.vorlagen_vid
        JOIN geraete g ON g.gid = a.geraete_gid
        JOIN user u ON u.uid = a.user_uid
        JOIN kunden k ON k.kid = a.kunden_kid
        JOIN status s ON s.sid = a.status_sid
        JOIN produkte p ON p.pid = a.produkt_pid
        WHERE
        a.aid LIKE '%"
    .$search."%'
        OR k.kid LIKE '%"
    .$search."%'
        OR k.vorname LIKE '%"
    .$search."%'
        OR k.nachname LIKE '%"
    .$search."%'";
    $query mysql_query($sql);
    if(!
    $query)
        throw new 
    Exception(mysql_error());
    echo 
    mysql_num_rows($query);
    while(
    $row mysql_fetch_assoc($query))
    {
        echo 
    "workz";

    Das Script läuft durch, und mysql_num_rows gibt 0 aus, sprich es wird nichts ausgelesen.

    Die Frage ist nur: Warum

    Ich hoffe, Ihr könnt mir helfen.

    lg Joker
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Hast du dein Query mal direkt auf der Datenbank getestet?
    TheJoker bedankt sich. 
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Avatar von TheJoker
    TheJoker TheJoker ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    Frauenfeld (Schweiz)
    Beiträge
    11
    Hi

    Danke für die schnelle Antwort.

    Ich habs mal durchgetestet: Gleiches Resultat wie bei num_rows -> 0 Treffer (ich hab verschiedene Zeichen ausprobiert um danach zu suchen)

    Der Fehler liegt demfall definitiv im Script...

    lg Joker
    Geändert von TheJoker (27.07.11 um 14:33 Uhr) Grund: ups da ist ein "k" vergessen gegangen ^^
     

  4. #4
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.204
    Versuche es doch mal mit LEFT JOIN.
    TheJoker bedankt sich. 
    Die Schweine von heute sind unsere Schnitzel von morgen!

  5. #5
    Avatar von TheJoker
    TheJoker TheJoker ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    Frauenfeld (Schweiz)
    Beiträge
    11
    Kopf -> Tisch

    Da grübel ich Stunden dran rum...
    Vielen Dank Maniac. Das wars!

    Oh man, und dabei wars so was simples -.-'

    Naja vielen Dank, du hast mir den Tag gerettet

    lg Joker
     

  6. #6
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.204
    Weist du auch den Unterschied zwischen LEFT JOIN und einem normalen JOIN?
     
    Die Schweine von heute sind unsere Schnitzel von morgen!

  7. #7
    Avatar von TheJoker
    TheJoker TheJoker ist offline Mitglied
    Registriert seit
    Jul 2011
    Ort
    Frauenfeld (Schweiz)
    Beiträge
    11
    So halbwegs. Hängt glaub damit zusammen welches Feld man auf welches Join't
     

  8. #8
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.204
    Nein, bei einem JOIN geht mysql davon aus das nur die Felder angezeigt werden welche auch Daten beinhalten. Bei einem LEFT JOIN können auch bei selektierten Feldern keine Daten enthalten sein, aber die anderen Felder werden trotzdem angezeigt.
    TheJoker bedankt sich. 
    Die Schweine von heute sind unsere Schnitzel von morgen!

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 11.01.08, 22:11
  2. Suchfunktion innerhalb der Website
    Von mediaroad im Forum PHP
    Antworten: 7
    Letzter Beitrag: 06.12.07, 09:46
  3. [MySQL] Abhängigkeit von Spalten innerhalb einer Tabelle
    Von Kerwin im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 09.05.05, 22:32
  4. Antworten: 2
    Letzter Beitrag: 03.05.05, 10:23
  5. Antworten: 3
    Letzter Beitrag: 06.12.04, 14:01

Stichworte