Hallo,

Op het moment ben ik bezig met een opdracht voor school. Ik moet een database maken waarin ik CD's DVD's en Games toe kan voegen, hier moet ik ook een zoekfunctie aan toevoegen. Ik ben al aan het zoeken geweest naar een aantal voorbeelden op internet, maar met deze scripts loop ik elke keer vast of het script werkt niet naar behoren.
Heeft iemand een idee hoe ik een simpel zoekscript kan toepassen op de gegevens uit mijn database?
Mijn database heet mediabase en de kolommen zijn mediaID, mediaNaam, mediaCategorie en mediaDetail.

Groet,
Jos
<?php
$result = mysql_query("SELECT mediaID, mediaNaam, mediaCategorie, mediaDetail FROM mediabase WHERE mediaNaam LIKE %'". $_POST['deNaamVanJeInputFieldOmTeZoeken'] ."'%");
?>

zo iets?

kijk ook eens hier
Dankje, ik denk dat ik de zoekfunctie nu kloppend heb.
Alleen krijg ik nu de resultaten in een tabel afgebeeld?

Groet,
Jos
nee
dan moet je nog doen
<?php
$result = mysql_query("SELECT mediaID, mediaNaam, mediaCategorie, mediaDetail FROM mediabase WHERE mediaNaam LIKE %'". $_POST['deNaamVanJeInputFieldOmTeZoeken'] ."'%");

echo '<table';
while($row = mysql_fetch_assoc($result)) {
echo '<tr><td>'. $row['mediaNaam'] .'</td><td>'. $row['mediaDetail'] .'</td></tr>';
}
echo '</table>';
?>

Ik denk dat je het principe dan wel snapt?

edit: hoofdletters goed gedaan

edit2: ik heb geen rekening gehouden met mysql_injection en error-handling dat er nog even zelf in bouwen;)
Ik heb nu de volgende code:

<?php
$host = "localhost"; /// use default
$username = "root"; /// write your mysql username
$password = "*******"; /// write your mysql password
$database = "mediabase"; /// write your mysql database
$connect = @mysql_connect($host, $username, $password) or die (@mysql_error());
$selectdb = @mysql_select_db($database, $connect) or die (@mysql_error());

$result = mysql_query("SELECT mediaID, mediaNaam, mediaCategorie, mediaDetail FROM mediabase WHERE mediaNaam LIKE %'". $_POST['zoekterm'] ."'%");

echo '<table';
while($row = mysql_fetch_assoc($result)) {
echo '<tr><td>'. $row['medianaam'] .'</td><td>'. $row['mediaDetail'] .'</td></tr>';
}
echo '</table>';
?>

Ik krijg echter de volgende foutmelding wanneer ik probeer te zoeken:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\database\search.php on line 29

Line 29 is in dit geval de volgende regel:
while($row = mysql_fetch_assoc($result)) {


[size=xsmall]Toevoeging op 24/06/2011 13:29:53:[/size]

Deze foutmelding had ik vanochtend ook al met een ander script van het internet. Waardoor komt deze melding?

[size=xsmall]Toevoeging op 24/06/2011 14:15:00:[/size]

Heeft iemand een idee waar het aan kan liggen? Voor zover ik het kan zien klopt het zo maar als ik ga zoeken krijg ik steeds de foutmelding.

[size=xsmall]Toevoeging op 24/06/2011 14:43:04:[/size]

Heb even gezocht op internet en nog een aantal dingen geprobeerd. Hieronder mijn code, maar heb nog steeds hetzelfde probleem. Weet iemand een oplossing?

<h1>Zoeken</h1>

<form action="search.php" method="post">
Zoek:<input type="text" name="zoekterm" />

<input type="submit" name="searchBtn" value="zoek!" />
</form>

<?php
$host = "localhost"; /// use default
$username = "root"; /// write your mysql username
$password = "*******"; /// write your mysql password
$database = "mediabase"; /// write your mysql database
$connect = @mysql_connect($host, $username, $password) or die (@mysql_error());
$selectdb = @mysql_select_db($database, $connect) or die (@mysql_error());

$zoekterm= $_POST['zoekterm'];

$query = "SELECT mediaID, mediaNaam, mediaCategorie, mediaDetail FROM mediabase WHERE mediaNaam LIKE %'". $zoekterm ."'%";
$result = mysql_query($query);

echo '<table';
while ($row = mysql_fetch_assoc($result)) {
echo '<tr><td>'. $row['mediaID'] .'</td><td>'. $row['mediaNaam'] .'</td><td>'. $row['mediaCategorie'] .'</td><td>'. $row['mediaDetail'] .'</td></tr>';
}
echo '</table>';

?>
Je kunt je topic de volgende keer natuur ook gewoon "wie wil mn huiswerk voor me maken" noemen
Dank voor de tip! Heb het script inmiddels al werkend.

Reageren