Helaas heb ik weinig verstand van MySQLi maar mijn OC website maakt hier gebruik van. Ik heb een zoekformulier via HTML met 4 dropdown menu’s en deze zijn alle 4 standaard ingevuld met diverse waardes. Nu is het de bedoeling dat wanneer ik op ‘zoek’ druk dat hij mijn data gaat op zoeken in mijn database en dan de resultaten weergeeft. Iemand die mij een duwtje in de goede richting kan geven?
Je vangt de gekozen waarden op in een php script, het script dat in de HTML vermeld staat bij action="scriptnaam". In het php script bouw je SQL zoals Aar adviseert en vervolgens toon (echo) je de resultaten ook via datzelfde php script.
Bedankt voor je snelle reactie! Ik heb het even uitgeprobeerd maar dat is geloof ik niet helemaal waar ik naar op zoek ben. Graag zou ik willen dat wanneer ik op zoek druk dat er resultaten worden weergegeven die overeen komen met alle 4 de input velden. Dus stel ik selecteer uit mijn dropdown menu's:
Piet | Klaassen | 30 | Goes
Dan zouden er alleen resultaten moeten worden weergeven van alle Piet Klaassen die 30 jaar zijn uit Goes. Dat is een beetje het idee zeg maar.
/Edit:
Mijn excuus als ik niet alles begrijp maar ik ben helaas niet zo goed thuis hier in. Ik ga het nogmaals proberen!
Deze query werkt inderdaad goed wanneer ik hem uitvoer in mijn database. Nu is het zo dat ik dit wil implementeren in mij zoekfunctie. Ik had al een voorbeeld gevonden op internet maar wanneer ik die code uitvoer geeft hij geen resultaten weer. De code heb ik bijgesloten onderaan deze post.
<?php
if (isset($_POST['search'])) {
echo 'Search Result :<br />';
$width = $_POST['width'];
$height = $_POST['height'];
$length = $_POST['length'];
$width = mysql_real_escape_string($width);
$height = mysql_real_escape_string($height);
$length = mysql_real_escape_string($length);
$where = "1=1";
if ($width != "") {
$where.=" AND width='$width'";
}
if ($height != "") {
$where.=" AND height='$height'";
}
if ($length != "") {
$where.=" AND length='$length'";
}
$sql = "select * from oc_product where $where";
}
?>
Dat klopt, maar deze code had ik gevonden. Nu wou ik dit aanpassen maar wanneer ik mysql_real_escape_string() naar mysqli_real_escape_string() aanpas vraagt hij om 2 parameters, vandaar dat ik weer aangepast heb. Om die reden heb ik mijzelf ook aangemeld om meer informatie en tips op te doen. Maar ik ben echt een leek op dit gebied, ik probeer door middel van google een hoop te achterhalen en uiteraard via dit forum.
Dat klopt, maar deze code had ik gevonden. Nu wou ik dit aanpassen maar wanneer ik mysql_real_escape_string() naar mysqli_real_escape_string() aanpas vraagt hij om 2 parameters, vandaar dat ik weer aangepast heb.
Je kan de functies van MySQLi en het oude MySQL niet mixen met elkaar. je zult mysqli_real_escape_string() moeten gebruiken. In tegenstelling tot de oude functie gebruikt deze een extra parameter met de connectie die er gebruikt wordt.
Duidelijk. Als ik mijn $con erbij zet, dan is de error weg. Maar dan krijg ik nog geen resultaten wanneer ik op 'zoek' druk. Nu weet ik niet of de rest van de code wel in orde is?
<?php
$con = mysqli_connect("localhost", "root", "", "opencart");
if (isset($_POST['search'])) {
echo 'Search Result :<br />';
$width = $_POST['width'];
$height = $_POST['height'];
$length = $_POST['length'];
$width = mysqli_real_escape_string($con, $width);
$height = mysqli_real_escape_string($con, $height);
$length = mysqli_real_escape_string($con, $length);
$where = "1=1";
if ($width != "") {
$where.=" AND width='$width'";
}
if ($height != "") {
$where.=" AND height='$height'";
}
if ($length != "") {
$where.=" AND length='$length'";
}
$sql = "select * from oc_product where $where";
}
?>