• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP MySQL suchergebnis in Div

TheSlowlySnail

Neues Mitglied
Hallo,
ich vermute meine Problem ist recht einfach und trotzdem komm ich nicht dahinter.

Ich mach eine Suchanfrage an PHP und das funktioniert wunderbar. Jetzt möchte ich das Ergebnis in einem Div ausgeben lassen.

<body>
<form action="search.php" method="GET">
<input type="text" name="titel" />
<input type="submit" value="Search" onclick="showSearch()"/>
</form>
<div id="select"></div>
</body>

in dem Div select soll dann das ergebnis stehen, nachdem ein Titel eingegeben und Search gedrückt wurde.

Im Anschluss ist der dazugehörige PHP Code. Ich bin für jede Hilfe dankbar :). Ich bin übrigens dem W3School Tutorial gefolgt.

Viele Grüße


<?php

$servername = "SERVER";
$username = "USER";
$password = "PASS";
$dbname = "NAME";

header("Content-Type: text/html; charset = utf-8");

mysql_connect($servername, $username, $password) or die("Error connecting to database: ".mysql_error());


mysql_select_db($dbname) or die(mysql_error());

$query = $_GET['titel'];
// gets value sent over search form

$min_length = 3;
// you can set minimum length of the query if you want

if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then

$query = htmlspecialchars($query);
// changes characters used in html to their equivalents, for example: < to &gt;

$query = mysql_real_escape_string($query);
// makes sure nobody uses SQL injection

$raw_results = mysql_query("SELECT * FROM Modell
WHERE titel LIKE '%".$query."%' ") or die(mysql_error());



if(mysql_num_rows($raw_results) > 0){ // if one or more rows are returned do following

while($results = mysql_fetch_array($raw_results)){


echo "<p><h3>".$results['titel']."</h3>".$results['text']."</p>";

}

}
else{ // if there is no matching rows do following
echo "No results";
}

}
else{ // if query length is less than minimum
echo "Minimum length is ".$min_length;
}
?>
 
Werbung:
Einfach überprüfen ob ein Ergebnis vorliegt und dann per echo ins div schreiben und vorher mit htmlspecialchars/htmlentinities maskieren.


Wenn du die Suche ohne Reload der Seite durchführen willst, musst du den Weg über Ajax
gehen und den response Text des Requests dann einfach ins Div schreiben.
 
Du musst $_GET['titel'] per Ajax an die search.php senden. Wenn du es einfach haben willst, nimm jQuery, oder anspruchsvoller mit Angular. Weitergehende Infos findest du in den jeweiligen Dokus.

Ajax per jQuery hatte ich im Dezember 2013 in einem Forenpost erklärt, weil ich die Standard-Tutorials als zu umständlich empfand. Wenn du magst, kannst du ja danach googeln.
 
Werbung:
Zurück
Oben