Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten aus meheren Tabellen auslesen.

Einklappen

Neue Werbung 2019

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

  • Daten aus meheren Tabellen auslesen.

    Moin Leute,
    ich verzweifle schon langsam.

    Ich versuche eine Suchmaschine zu erstellen, die Daten aus mehreren Tabellen ausliest und wiedergibt. Mit einer Tabelle klappt es aber nicht mit mehreren.

    Ich habe 3 verschiedene Suchscripte aus Tutorials erstellt und wie geschrieben mit einer Tabelle funktionieren sie einwandfrei.

    Die Datenbankspalten sind alle gleich aufgebaut mit 1.Title und 2.Description_short etc. Der Titel soll durchsucht werden. Daran sollte es nicht liegen.

    Vielleicht wisst Ihr ja eine Lösung für zumindest 1 Script das wer super. Ich habe schon soviele Tutorials durchgelesen mit UNION oder JOIN aber nichts will wirklich funktionieren.

    Ich bedanke mich schonmal vorab für Eure Bemühungen


    Script 1:
    PHP-Code:
        $tabelle "tabelle1";
        
    $tabelle2 "tabelle2";
        
        if (
    $_POST["suchbegriff"]){
            
    // Mysql Abfrage wird gespeichert mit den Notwendigen Parameter
            
    $sql "SELECT * FROM ".$tabelle." WHERE ".$tabelle.".Title LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%'
            UNION ALL
            SELECT * FROM "
    .$tabelle2." WHERE ".$tabelle2.".Title LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%'); 

    Script 2:
    PHP-Code:
      $query "SELECT * FROM $table_name$table_name2 WHERE (";
      
    $countFields count($arrayFields);
      while (
    $a $countFields)
      {
        while (
    $b $countSearch)
        {
          
    $query $query."$arrayFields[$a] LIKE '%$arraySearch[$b]%'";
          
    $b++;
          if (
    $b $countSearch)
          {
            
    $query $query." AND ";
          }
        }
        
    $b 0;
        
    $a++;
        if (
    $a $countFields)
        {
          
    $query $query.") OR (";
        }
      }
      
    $query $query.") LIMIT $offset$records_number;"
    Script 3:
    PHP-Code:
    $result=mysql_query("SELECT * FROM tabelle1,tabell2 where tabelle1.Title=tabelle1.Title like '%$title%' tabell2.Title LIKE '%".$search."%'"); LIMIT 25"); 


  • #2
    Kannst du ein Anwendungsszenario für die Suche zeigen? (Beispieldatensätze aus den Tabellen, Suchbegriff, erwartetes Ergebnis)
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      http://php.de/wiki-php/index.php/Debugging:SQL
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Das Highlighting hier im Forum kann auch helfen!
        http://hallophp.de

        Kommentar


        • #5
          Die mysql-Erweiterung von PHP ist veraltet. Nutze mysqli oder PDO.

          Kommentar

          Lädt...
          X