Ergebnis 1 bis 7 von 7

Thema: Sortierung

  1. #1
    Unregistriert
    Gast

    Standard Sortierung

    Hallo zusammen,

    ich habe zwei Tabellen (Information, Reklamation), die beide identisch aufgebaut sind:

    ID Beschreibung Autor
    ID Beschreibung Autor

    Ich möchte jetzt nach einem Begriff in "Beschreibung" in beiden Tabellen suchen und die Ausgabe sortiert nach der ID haben. Zum Beispiel

    1 Beschreibungstext Autor (aus Information)
    1 Beschreibungstext Autor (aus Reklamation)
    2 Beschreibungstext Autor (aus Reklamation)
    3 Beschreibungstext Autor (aus Information)
    3 Beschreibungstext Autor (aus Reklamation)

    Ich tue mich noch schwer mit Group, Join, etc., ich weiss nie, wann ich was wie einsetzen muss. Ich würde mich sehr über eine funktionierende Abfrage freuen.

    Danke
    Ralf
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: Sortierung

    Wie sieht denn dein bisheriger Versuch dazu aus?

  3. #3
    Unregistriert
    Gast

    Standard AW: Sortierung

    Versucht habe ich
    PHP-Code:
    $abfrage "select 
                   information.id, reklamation.id, information.beschreibung, reklamation.beschreibung 
                from 
                  reklamation, information 
                where 
                  reklamation.beschreibung like '%
    $suchbegriff%' or information.beschreibung like '%$suchbegriff%' 
                order by 
                  reklamation.id, information.id"

    dabei kommt aber leider nicht das raus was ich gerne hätte, sondern phpmyadmin liefert mir sowas

    1 beschreibung 3 beschreibung
    1 beschreibung 4 beschreibung
    1 beschreinung 5 beschreibung
    etc.

  4. #4
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: Sortierung

    Bei deinem Statement verbindest Du 2 Tabellen ohne sie wirklich miteinander zu verbinden und suchst auch noch in beiden nach dem selben Begriff. Daher liefert dir MySQL dann eine Ergebnismenge in der jeweils von beiden Tabellen "irgendein" Datensatz enthalten ist.

    Was Du suchst ist UNION. Beispiel:

    PHP-Code:
    $abfrage "(SELECT a FROM t1 WHERE beschreibung like '%".mysql_escape_string($suchbegriff)."%')
    UNION
    (SELECT a FROM t2 beschreibung like '%"
    .mysql_escape_string($suchbegriff)."%')
    ORDER BY a"

    Siehe Handbuch: http://dev.mysql.com/doc/refman/5.0/en/union.html

  5. #5
    Unregistriert
    Gast

    Standard AW: Sortierung

    SUPER! DANKE!!!

    Aber schon habe ich das nächste Problem. In einer weiteren Tabelle (ID, Ursache, Loesung) habe ich Datensätze, die ich ebenfalls so ausgelesen habe:
    PHP-Code:
    $abfrage "(SELECT id, beschreibung FROM information WHERE beschreibung like '%$suchbegriff%')
                 UNION
                (SELECT id, ursache, loesung FROM fehler where ursache like '%
    $suchbegriff%')
                ORDER BY id"

    Das liefert dann die Fehlermeldung:
    The used SELECT statements have a different number of columns
    Die Fehlermeldung ist soweit ja klar, aber wie kann ich das lösen? Hättest du da auch eine Idee?

    Hast mir auf jeden Fall schon sehr weiter geholfen, nochmal danke!

    PS: mysql_real_escape_string ist schon auf den Suchbegriff angewendet worden

  6. #6
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: Sortierung

    Schaffe dir einfach eine "Pseudospalte". Also:

    PHP-Code:
    $abfrage "(SELECT id, beschreibung, '' as placebo FROM information WHERE beschreibung like '%$suchbegriff%')
                 UNION
                (SELECT id, ursache, loesung FROM fehler where ursache like '%
    $suchbegriff%')
                ORDER BY id"

    Wenn Du außerdem noch die Ergebnismenge sortieren willst, solltest Du einheitliche Spaltennamen per Alias erzwingen. Also:

    PHP-Code:
    $abfrage "(SELECT id, '' as text, beschreibung FROM information WHERE beschreibung like '%$suchbegriff%')
                 UNION
                (SELECT id, ursache as text, loesung as beschreibung FROM fehler where ursache like '%
    $suchbegriff%')
                ORDER BY beschreibung"


  7. #7
    Unregistriert
    Gast

    Standard AW: Sortierung

    Perfekt! Vielen Dank, damit hast du mir sehr geholfen!

Ähnliche Themen

  1. MySQL - Anzeige und Sortierung
    Von Walerik im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 14
    Letzter Beitrag: 19.01.2009, 17:24
  2. Problem mit sortierung
    Von OJM im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 05.02.2007, 15:56
  3. Sortierung
    Von andi1804 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 15.09.2006, 00:37
  4. zahl sortierung
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 18.01.2005, 11:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •