Probleme mit Suchfunktion

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

  • Probleme mit Suchfunktion

    Hallo,

    ich möchte den folgenden Code für eine Suche über PHP-Formulare in MySQL einsetzen. Eines vorweg, die Suchfunktion ist nicht von mir, sondern von TITUS. Danke schonmal dafür.

    Ich finde einfach den Fehler nicht. Meine Tabelle heißt "termine", das Textfeld für das Suchwort "suche" und die ID heißt "termin_id".

    Vielleicht findet jemand den Fehler oder kann mir einen Tipp geben, was ich falsch mache. Bin leider in PHP und MySQL noch nicht so bewandert.

    Danke schonmal.

    Daniel


    Und hier der Code:

    #Festlegen der Tabelle

    $table = "termine";


    #Zusammenbauen der SQL-Abfrage

    function seek_table ($table, $suche)
    {


    #alle Spaltennamen ermitteln

    $q = mysql_query ('show fields from '.$table);
    $fields = array();
    while ($x = mysql_fetch_array($q))
    $fields[] = $x['Field'];
    mysql_free_result ($q);

    #jede Spalte in einer eigenen Query abfragen wg. Perfomance

    $result = array();
    for ($i=0; $i<count($fields); $i++)
    if ('id'!=($col=$field[$i])) #Spalte 'ID' auslassen
    {
    $q = mysql_query ("select * from $table where $col like '%$suche%'");
    if ($q)
    {
    while ($x = mysql_fetch_array($q))
    $result[$x['id']] = $x;
    mysql_free_result ($q);
    }
    }
    ksort ($result);
    return $result;
    }


    $zeilen = mysql_num_rows($result);


    Und noch der Code der Abfrage, der sollte eigentlich ok sein, aber bei mir weiß man ja nie. :-)

    #Ab hier folgt die Ausgabe der Ergebnisse in einer Tabelle.

    #Tabelle öffnen

    echo "<table border=1>";

    #Überschriften der einzelnen Spalten

    echo "<tr><td><b>Termin ID</b></td>";
    echo "<td><b>Ort</b></td>";
    echo "<td><b>Datum</b></td>";
    echo "<td><b>Enddatum</b></td>";
    echo "<td><b>Uhrzeit</b></td>";
    echo "<td><b>Endzeit</b></td>";
    echo "<td><b>Terminart</b></td>";
    echo "<td><b>Person</b></td>";
    echo "<td><b>Semester</b></td>";
    echo "<td><b>Kommentar</b></td></tr>";

    for ($i=0; $i<$zeilen; $i++)
    {
    $terminid_ausgabe = mysql_result($result, $i, "termin_id");
    $ort_ausgabe = mysql_result($result, $i, "ort");
    $datum_ausgabe = mysql_result($result, $i, "datum");
    $bisdatum_ausgabe = mysql_result($result, $i, "bis_datum");
    $uhrzeit_ausgabe = mysql_result($result, $i, "uhrzeit");
    $endzeit_ausgabe = mysql_result($result, $i, "endzeit");
    $terminart_ausgabe = mysql_result($result, $i, "terminart");
    $person_ausgabe = mysql_result($result, $i, "person");
    $semester_ausgabe = mysql_result($result, $i, "semester");
    $kommentar_ausgabe = mysql_result($result, $i, "kommentar");





    #Erstellen und füllen der Spalten

    echo "<tr><td>$terminid_ausgabe</td><td>$ort_ausgabe</td> <td>$datum_ausgabe</td>";
    echo "<td>$bisdatum_ausgabe</td> <td>$uhrzeit_ausgabe</td>";
    echo "<td>$endzeit_ausgabe</td> <td>$terminart_ausgabe</td>";
    echo "<td>$person_ausgabe</td> <td>$semester_ausgabe</td>";
    echo "<td>$kommentar_ausgabe</td> </tr>";

    }

    #Tabelle schliessen

    echo "</table>";


    #Anzahl der passenden Datensätze

    $anzahl = mysql_num_rows($result);


    if ($anzahl > 0) {
    echo "<br><br>";
    echo "Ihre Suche hat $anzahl Treffer ergeben.";
    }

    else
    {
    echo "<br><br>";
    echo "Zu ihrer Suchanfrage konnte leider kein Termin gefunden werden. Bitte versuchen sie eine andere Auswahl.";
    }


  • #2
    hmm,

    die Fehlermeldung wäre ganz hilfreich.

    Kommentar


    • #3
      Aber gerne... :-)

      Hallo,

      die Fehlermeldung:

      Warning: Supplied argument is not a valid MySQL result resource in C:\apache\htdocs\phpdb\abfrage\termin_suchen.php on line 65

      und das ganze nochmal für line 119.

      Da das ganze ja ohne die vollständige Datei nix nutzen wird:

      http://www.fa-x.de/php/termin_suchen.zip


      Danke nochmal. Bin echt am Verzweifeln.

      Daniel

      Kommentar


      • #4
        hmm,
        dieser Fehler sagt aus dass die mysql_result Anweisung nicht ausgeführt werden konnte, sehr wahrscheinlich existiert die Spaltenbezeichnung nicht.

        Kommentar


        • #5
          ...

          Hallo,

          welche Spaltenbezeichnung könnte das denn sein? Bin momentan etwas planlos. Sorry dafür und danke für deine Hilfe!


          Gruß
          Daniel

          Kommentar

          Lädt...
          X