Suche mit PHP in einer Access DB

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

  • Suche mit PHP in einer Access DB

    Hallo zusammen

    Ich habe ein Telefonbuch das in einer Access Datenbank angelegt ist. Nun mach ich via PHP eine Suchabfrage und gebe das Resultat in unserem Intranet aus.
    Mein Problem ist, dass eine Abfrage nur möglich ist, wenn ich den gesuchten Name voll ausschreibe. Nun möchte ich gerne, dass mir die Suche schon beim Teilwort eine Auswahl an DB Einträgen ausgibt.

    Beispiel, ich suche nach Muster.

    Situation jetzt:
    Muster in das Suchfeld eintragen, da sonst nichts gefunden wird.

    Gewünschte Suchabfrage:
    Mu in das Suchfeld eintragen und es werden Muster, Munz, Muler... etc ausgegeben.

    Ich hoffe mir kann jemand helfen.

    Ein Teil meines Suchcodes sieht so aus:

    PHP-Code:
      // Create SELECT List with Name(Abteilung)
       // -------------------------------------------------------
       
    function select_name_abteilung($connection$pulldownName)
       {
          
    //
          // Query to find name,abteilung (seems to be distinct)
          
    $query "SELECT name, abteilung
                      FROM data1
                     WHERE name IS NOT NULL
                     ORDER BY name"
    ;
          
    //
          // Run the Query
          
    if (!($resultId = @ odbc_exec($connection$query))) {
             
    $err "Error Executing SQL Query: " $query;
             exit(
    $err);
          }
          
    //
          // Start the select widget
          
    print "\n<select name=\"{$pulldownName}\">";
          
    //
          // The first Entry is to show All (no WHERE clause)
          
    print "\n<option selected value=\"Alle\">Alle</option>";
          
    //
          // Retrieve each row from the query
          
    while (odbc_fetch_row($resultId))
          {
             
    // Get the value for the column
             
    $name odbc_result($resultId,"Name");
             
    $abteilung odbc_result($resultId,"Abteilung");
             
    $result $name " (" $abteilung ")";
             print 
    "\n<option value=\"{$result}\">{$result}";
             print 
    "</option>";
          }
       } 

    Danke und Gruss
    Michael
    Zuletzt geändert von mischu19; 22.11.2005, 09:46.
    ... und es läuft doch!

  • #2
    Re: Suche mit PHP in einer Access DB

    Original geschrieben von mischu19
    (sorry, php Formatierung?)
    Würde funktionieren, wenn du die Tags mit dem VB-Code-Button eingefügt oder dem schließenden Tag per Pedes ein / spendiert hättest. Kannste glauben, kannste nachholen.

    Kommentar


    • #3
      OK die Formatierung hat geklappt.
      Manchen muss man auf die Sprünge helfen.
      ... und es läuft doch!

      Kommentar


      • #4
        Ich habe noch was im Netz gefunden und in meinen Code eingebaut, doch leider funktioniert das auch nicht.
        PHP-Code:
              $query "SELECT name, abteilung
                         FROM data1
                         WHERE name LIKE '%name%'  IS NOT NULL
                         ORDER BY name"

        Kennt denn niemand ne Lösung für das Problem?

        Gruss Michael
        ... und es läuft doch!

        Kommentar


        • #5
          Re: Suche mit PHP in einer Access DB

          PHP-Code:
          $query "SELECT name, abteilung FROM data1
                           WHERE name LIKE '%"
          .$pulldownName."%'
                           ORDER BY name"

          Wenn das noch nicht geschehen ist, solltest du $pulldownName vorher mit mysql_real_escape_string() behandeln, sonst reißt du dir mit dieser Query ein Sicherheitsloch.

          Kommentar


          • #6
            Danke onemorenerd für dein post. Ich habe den Code so abgeändert wie du es geschrieben hast.
            Doch leider kriege ich immer noch die Meldung "Es wurden keine Daten gefunden". Wenn ich den zu suchenden Begriff ausschreibe funktioniert es.

            Vielleicht kannst du mir noch etwas helfen?

            Danke
            ... und es läuft doch!

            Kommentar


            • #7
              Hoppla, die dunkle Seite der Macht (der Gewohnheit) war übermächtig: Ich las was von $query und nahm an es ist MySQL. Du arbeitest aber mit Access.

              Sieht so aus als verstünde Access die % im LIKE nicht.
              Schau mal im Handbuch/Manual/OnlineHilfe/Google, ich kenne mich mit Access leider kein Stück aus.

              Kommentar


              • #8
                OK, nochmals danke für die Hilfe.
                Werde dann mal bei google nachschauen!
                ... und es läuft doch!

                Kommentar

                Lädt...
                X