Ankündigung

Einklappen
Keine Ankündigung bisher.

Sache der Abfrage? Bitte um Hilfe !

Einklappen

Neue Werbung 2019

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

  • Sache der Abfrage? Bitte um Hilfe !

    Hallo liebe Community ,

    ich bin ein blutiger Anfänger in Sachen PHP und ich verzweifel gerade ein bisschen, da ich folgendes Problem habe:

    Ich möchte gerne meine Datenbank anhand des Textfeldes durchsuchen lassen, spirch man gibt z.B. Hallo ein, dann soll er die Eingabe mit Titel und Bezeichnung vergleichen und wenn Hallo im Titel bzw in der Beschreibung vorkommt, soll das ganze in einer Tabelle ausgeben werden. Mein problem ist gerade das er mir einfach alle Datensätze der Datenbank in einer Tabelle ausgibt, aber das nicht mein Ziel ich möchte nur die Datenbankeinträge in der Tabelle haben, wo z.B hallo im Titel oder in der Beschreibung vorkommt. Liegt das an meiner Abfrage oder muss ich mit $_GET und $_POST arbeiten? Wäre es nett wenn mir Jemand sagen, zeigen oder beschreiben kann was genau ich im script ändern muss. Hier die Scripte:

    HTML mit Formular

    Code:
    <html>
    <body>
    Suchfeld:
    <form action = "verbind.php" method = "post">
        <input name = "anf"> <p>
        <input type = "submit">
      
    </form>
    </body>
    </html>
    PHP mit MySQL-Abfrage etc..

    PHP-Code:
    <html>
    <body>
    <?php

       $db 
    mysql_connect("localhost""root""");

       
    $sqlab "select Titel, Bezeichnung, Url from info";
       
    $sqlab .= " where Titel like '$anf%' or Bezeichnung like '$anf%' ";

       
    $res mysql_db_query("daten"$sqlab);
       
    $num mysql_num_rows($res);


       echo 
    "<table border=1>";

       echo 
    "<tr> <td>Titel</td> ";
       echo 
    "<td>Bezeichnung</td> ";
       echo 
    "<td>Url</td> </tr>";

    if (
    $num==0)
          echo 
    "$num Datensätze gefunden<br>";


       for (
    $i=0$i<$num$i++)
       {
          
    $nn mysql_result($res$i"Titel");
          
    $vn mysql_result($res$i"Bezeichnung");
          
    $pn mysql_result($res$i"Url");
        

     
          echo 
    "<tr> <td>$nn</td> <td>$vn</td> <td>$pn</td>";
         
       }


       echo 
    "</table>";

       
    mysql_close($db);
    ?>
    </body>
    </html>
    vielen Dank für eure Mühe.

    mfg

  • #2
    Zitat von idontknow Beitrag anzeigen
    oder muss ich mit $_GET und $_POST arbeiten?
    Selbstverständlich musst du das, wenn du mit Formulardaten arbeiten willst.
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      1. mysql_db_query ist deprecated PHP: mysql_db_query - Manual
      2. Ja, du musst mit $_POST auf die Variable zugreifen
      und last but not least
      3. Les dich mal zum Thema SQL Injections, Sicherheit usw ein

      Kommentar


      • #4
        Vielen dank für eure Mühe aber erlich gesagt^^. Gut das mit query hab ich verstanden, soll ich net benutzen aber wo und wann ich was wo umschreiben muss mit $_POST verstehe nicht

        Kommentar


        • #5
          Wenn dir die Grundlagen der Formularverarbeitung nicht klar sind - http://www.php.de/php-einsteiger/489...rundlagen.html
          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

          Kommentar

          Lädt...
          X