Suchfunktion PHP / Javascript

VitaliK

Grünschnabel
Hallo Profis,
sitze schon lange darn und bekomme es einfach nicht hin.

Ich habe eine SQL-DB. Da sind, unter anderem, Vorname und Pfad zu den Bild gespeichert. Auf der Seite "Suche" gebe ich Vorname ein und als Ergebnis will ich erstmal alle Bilder bekommen, wo Vorname=Bild.
Leider bekomme ich es nicht hin, die Übergabe zumachen, damit die Bilder angezeigt werden. Der Vorname wird gefunden.

JavaScript:
Code:
function suchen() {
         erzeugeAnfrage();
        var suchData = document.getElementById("vorname_inp").value;
          var url = "db_suche.php?suchData=" + escape(suchData);
          anfrage.open("GET", url, true);
          anfrage.onreadystatechange = updateSuche_Seite;
          anfrage.send(null);
           }

function updateSuche_Seite() {
         if (anfrage.readyState == 4) {
             var antwortSuchData = anfrage.responseText;
              alert (antwortSuchData);
              ausgabeFotosDaten(antwortSuchData);
         }
      }

 function ausgabeFotosDaten(SuchDaten) {
 var array_fotosDaten = new Array();
 array_fotosDaten = SuchDaten.split("::");

wie geht es hier weiter?
:confused:......
PHP db_suche.php:
Code:
$select = "SELECT vorname FROM user WHERE vorname LIKE '$insertData[0]'";
        $queryResult = @mysql_query($select);
         if (!$queryResult)
                 die('Fehler bei DB Abfrage!');

             while ($row = mysql_fetch_array($queryResult)) {
                $vorname= $row['vorname'];
            }

                 if ($vorname==''){
            echo "Vorname nicht gefunden !";}

if ($vorname!=''){




//Seitenweises Auslesen der Miniaturbilder aus DB

        $select = "SELECT * FROM user WHERE vorname LIKE '$insertData[0]'";
        $queryResult = @mysql_query($select);
        if (!$queryResult)
                 die('Fehler beim Ermitteln des Vornamens');

             while ($row = mysql_fetch_array($queryResult)) {
                  $vorname = $row['vorname'];
                  $foto = $row['foto_klein'];}

}
 
Also ich hab dich nicht so 100% verstanden aber erst einmal eine Korrekturen.

LIKE ist dazu da Inhalte wo etwas bestimmtes vorkommt zu ermitteln. Man kacke erklärt aber LIKE sollte eher so aussehen:
Code:
$select = "SELECT vorname FROM user WHERE vorname LIKE  '%".$insertData[0]."%' '";
_ oder % sollte normerweise im LIKE enthalten sein sonst bringt dir die Funktion nichts. % steht für eine beliebige anzahl an Zeichen. Sagen wir du hast einen Pfad:
C:/bliblubb/blabläh/undsoweiter/joar.jpg Man sagt jetzt beispielsweise %joar%.
Dann findet er auch diesen Eintrag ;)

Sonst halt bitte doch noch einmal ein wenig verständisvoller erklären was du haben möchtes :rolleyes:
 
Hi

Meiner Meinung nach willst du eher so suchen:
$select = "SELECT * FROM user WHERE vorname LIKE '".$insertData[0]."'";
Damit suchst du nämlich nach dem was IN $insertData[0] gespeichert ist. In deiner Version suchst du, wo in der Tabelle "$insertData[0]" steht.
 
Hm. Wenn er aber nach dem sucht was IN dem array gespeichert ist sollte
er dann nicht lieber WHERE = ' ".$insertData[0]." ' So wie ich LIKE kennengelernt habe
nüzt es einem nichts ohne Platzhalter. Ich kann mich natürlich auch irren :eek:
 
Hi,

wartet doch erstmal ab, was überhaupt sein Problem ist. Wenn ich mir die rotlackierte Frage im Code so anschaue, sieht das für mich eher so aus, als wüsste er nicht, wie er jetzt das Ergebnis in seine Seite einbauen soll.

LG
 
Zurück