Hallo ich habe eine suchfunktion geschrieben die mögliche trefer live ausgiebt...
dieser Code ist im Index.php Dokument.
folgender Code ist im Suchen dokument
Nun möchte ich, dass passend zu den suchausgaben eine Json struktur erstellt wir...
ich dachte das könnte so gehen doch leider ging es nicht
könnt ihr mir bitte helfen?
Code:
<html> <head> <script type="text/javascript"> function searchFor(suchbegriff){ var xmlHttp = null; // Mozilla, Opera, Safari sowie Internet Explorer 7 if (typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } if (!xmlHttp) { // Internet Explorer 6 und älter try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlHttp = null; } } } // Wenn das Objekt erfolgreich erzeugt wurde if (xmlHttp) { var url = "suche.php"; var params = "suchbegriff="+suchbegriff; xmlHttp.open("POST", url, true); //Headerinformationen für den POST Request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { // Zurückgeliefertes Ergebnis wird in den DIV "ergebnis" geschrieben document.getElementById("ergebnis").innerHTML = xmlHttp.responseText; } }; xmlHttp.send(params); } } </script> </head> <body> <input type="text" onkeyup="searchFor(this.value);"/> <br> <br><div id="ergebnis"></div> </body> </html>
folgender Code ist im Suchen dokument
PHP-Code:
$server = "localhost";
$benutzername = "root";
$passwort = "";
$datenbank = "shopping";
// Server Verbindung herstellen
mysql_connect($server,$benutzername,$passwort) or
die ("Keine Verbindung moeglich");
// Datenbank Verbidung
mysql_select_db($datenbank) or
die ("Die Datenbank existiert nicht");
$tabelle = "angebote3";
if ($_POST["suchbegriff"]){
// Mysql Abfrage wird gespeichert mit den Notwendigen Parameter
$sql = "SELECT * FROM ".$tabelle." WHERE productName LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%')";
// Mysql Abfrage wird durchgeführt
$result = mysql_query($sql);
// Suchbegriff wird ausgegeben
echo "Sie Suchten nach: ".$_POST["suchbegriff"]."<br/><br/>";
// Ergebnis wird ausgegeben mit Zeilenumbruch
while($row = mysql_fetch_object($result)){
echo utf8_encode($row->productName);
echo "<br/>";
}
?>
ich dachte das könnte so gehen doch leider ging es nicht
PHP-Code:
$query = "SELECT * FROM angebote3 WHERE productName LIKE".$result." ORDER BY id ASC";
$mysqlQuery = mysql_query($query);
$result1 = array();
while($row = mysql_fetch_assoc($mysqlQuery)) {
$rowResult = array();
//Wenn der Angobtespreis gleich dem Normalpreis ist, keine Anzeige
if($row['whitePrice'] == $row['redPrice']) {
$rowResult['redPrice'] = $row['redPrice'] ."€";
$rowResult['whitePrice'] = '';
$rowResult['percent'] = '';
} else {
$rowResult['redPrice'] = $row['redPrice'] ."€";
$rowResult['whitePrice'] = $row['whitePrice'] ."€";
$rowResult['percent'] = '-' .round(100-(($row['redPrice']/$row['whitePrice'])*100)) .'%';
}
//Rest anfügen
$rowResult['productName'] = $row['productName'];
$rowResult['productImage'] = $row['productImage'];
$rowResult['shop'] = $row['shop'];
$result1[] = $rowResult;
}
echo $result;
print_r(json_encode($result1));
}
Kommentar