MySql Suchbefehl "LIKE" mit PHP

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

  • MySql Suchbefehl "LIKE" mit PHP

    Ich Brauche dringend Hilfe

    Ich brauche eine PHP-Seite, die eine Datenbank durchsucht und mir die Ergebnisse auflistet.
    Ich habe eine HTML seite Alsi Maske erstellt.

    Code:
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <h1>Suchformular<hr noshade size="2" color="#0080FF"></h1>
    <p>&nbsp;&nbsp;</p>
    <table>
    <tr>
     <td colspan="2"><form action="such.php" method="POST" target="">Such in der Datenbank <b><U>Von Wolkenstein </b></u></td>
    </tr>
    <tr>
     <td>Begriff </td>
     <td>:<input type="Text" name="wert" value="" size="25"> </td>
    </tr>
    <tr>
     <td>Datenbank</td>
     <td><select name="datenbank" size="1">
                 <option value="begriffe">Begriffe</option>
                 <option value="name">Name</option>
                 <option value="ort">Ort</option>
                 <option value="philo">Philosophie</option>
                 <option value="history">Geschichte</option>
                 <option value="lit">Literatur</option>
         </select>
     </td>
    </tr>
    <tr>
     <td colspan="2"><input type="Submit" name="" value="Suchen">&nbsp;&nbsp;<input type="reset" name="" value="Löchen"></form> </td>
     <td></td>
    </tr>
    </table>
    ein PHP-Script lautet dazu
    Code:
    <?php
    	 $server = "localhost"; $user = "ich"; $pass = "wort";
             $database = "knorr"; 
    	 $table = $_POST[datenbank];
    	 $such = $_POST[wert];
             $spalte1 = "term";
             $spalte2 = "text";
    
    	 
    					
    	 $verb = mysql_connect($server, $user, $pass)
                            or die ("Konnte keine Verbindung zur Datenbank herstellen!");
    	 mysql_select_db($database, $verb);
    	 $sql = "SELECT * FROM $table WHERE $spalte1, $spalte2 LIKE %$such%";
    	 $query = mysql_query($sql);
    	  if ($query == 0)
    	  						echo "Das Begriff <b>$such</b> wurde nicht in Tabelle-$table nicht gefunden!";
    	  			
    	  		else
    	  			{
    	    			print_result_table($query);
    	 			}
    				
    		mysql_close($verb);
    ?>
    Das Problem ist, das es nicht funktioniert.
    Ich bitte um Hilfe


    MFG
    WUISO

  • #2
    PHP-Code:
    $query mysql_query($sql);
          if (
    $query == 0
    Eine Resource auf einen Integer zu prüfen ist ja nicht wirklich sinnvoll:

    http://de3.php.net/manual/de/functio...l-num-rows.php wäre die nächste Lösung. Noch einfacher wäre es, $query auf false zu überprüfen.

    Funzt nicht ist übrigens keine Fehlerbeschreibung, die Leute hier wollen das sehn, was PHP dazu ausgibt bzw den Inhalt der Variablen.
    http://de3.php.net/manual/de/function.var-dump.php ost dir dabei gerne behilflich

    Kommentar


    • #3
      [PHP5] MySql-Suchfunktionbefehl mit PHP

      Das Problem liegt nicht an die Überprüfung von Integer, sondern die Begriffe werden nicht gefunden. Das fehler könnt im Syntax sein. denn es zeigt mir immer das $query == 0 ist.

      ==> Begriff wurde nicht gefunden.

      Code:
      if ($query == 0)
                       echo "Das Begriff <b>$such</b> wurde nicht in  Tabelle-$table nicht gefunden!";

      Kommentar


      • #4
        mysql_error()

        Kommentar


        • #5
          PHP-Code:
          SELECT FROM $table WHERE $spalte1$spalte2 LIKE %$such
          das kann ja wohl nichts werden.

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            PHP-Code:
            <?php
            SELECT 
            FROM $table WHERE $spalte1$spalte2 LIKE %$such%

            ?>
            Stimmt denn mit * gibst du an er soll alle datensätze durchforsten und in der where clausel gibst du einzelne spalten an? Ja was soll er denn nun machen alles absuchen oder nur vereinzelte spezielle spalten? Und zum zweiten warum dann spaltennamen als variable?
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Original geschrieben von litterauspirna
              PHP-Code:
              <?php
              SELECT 
              FROM $table WHERE $spalte1$spalte2 LIKE %$such%

              ?>
              Stimmt denn mit * gibst du an er soll alle datensätze durchforsten und in der where clausel gibst du einzelne spalten an? Ja was soll er denn nun machen alles absuchen oder nur vereinzelte spezielle spalten? Und zum zweiten warum dann spaltennamen als variable?
              Ansich ist der Query zumindest bis zum WHERE okay.
              Das danach ist falsch.. aber trotzdem kann er alles selecten und hinten eim where spalten angeben (ist ja irgendwie logisch oder?)

              mfg

              Kommentar


              • #8
                Ja klar. Ich habe mich falsch ausgedrückt. Ich meinte die Art und weise wie er es macht! Sorry!
                Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                http://www.lit-web.de

                Kommentar


                • #9
                  [PHP5] Hmm

                  was soll ich eigentlich geben, wenn meine Datenbank mit Tabellen komplett durchgesucht werden soll.
                  Ich habe in der Datenbank nur Tabellen, diese sollten abgesucht werden.
                  Wenn man einen Begriff gibt, dann soll es in der Datenbank gesucht werden und auf gelistet werden.

                  mfg
                  Hilfe ist angefragt.

                  Kommentar

                  Lädt...
                  X