Zoekopdracht in hyperlink

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Luuk

luuk

26/01/2006 17:29:00
Quote Anchor link
Het lukt me steeds niet om een zoekopdracht op een search.php naar een resultaten.php in een hyperlink te zetten. Dus bijvoorbeeld resultaten.php?trefwoord=50 cent en dat hij dan ook gelijk zoekt. Misschien dat een van jullie snapt hoe dit moet. Dit zijn de scripts:

*** search.php ***

<center><br>
<form name="formulier" action="resultaten.php" method="post">
<input type="text" name="trefwoord" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $trefwoord ?>
">
<select name="zoekcat">
<option value="mp3_artiest">Artist</option>
<option value="mp3_naam">Title</option>
</select>
<input type="submit" name="submit" value="Search"></form>
<br></center>



*** resultaten.php ***

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?PHP
$database_url
= "localhost";
$gebruiker = "******";
$wachtwoord = "******";
$database = "******";

mysql_connect("$database_url", "$gebruiker", "$wachtwoord") or die("Connectie met Database mislukt");
mysql_select_db("$database") or die("Fout bij het selecteren van de database");

if($_SERVER['REQUEST_METHOD'] == 'POST') {

$select = "SELECT * FROM mp3 WHERE $zoekcat LIKE '%$_POST[trefwoord]%'";
$query = mysql_query($select) or die("Er is iets fout gegaan!");
$resultaten = mysql_num_rows($query);

if($trefwoord == "")
{
echo "Your search query should contain at least 3 characters!";
}
elseif(strlen($trefwoord) < 3)
{
echo "Your search query should contain at least 3 characters!";
}
elseif ($resultaten == "0")
{
echo "No results!";
}
else {

$i = 1;

while ($zoekdata = mysql_fetch_array($query)) {

if ($i == 1)
{

    $color = "#e6ebf3";
    $i++;
}

else
{
    $color = "#ffffff";
    $i = 1;
}


?>

<table width="100%" id="table1" style="border-collapse: collapse" bordercolor="#000000">
<tr bgcolor="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $color ?>
">
<td width="80%">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[mp3_artiest] ?>
-
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[mp3_naam] ?>
</td>
<center><td width="10%"><a href="download.php?id=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[mp3_id] ?>
">Download</a></td></center>
<center><td width="10%"><a href="#" onClick="send(
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[ringtoon_link] ; ?>
);return false;">Ringtone</a></td></center>

</tr>
</table>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
}
echo "<tr><td colspan='4'><i><b>$resultaten Result(s) for $trefwoord</b></i></td></tr>\n";
}
}
else {
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? } ?>



Voor diegene die het weet duizend maal dank ;-).
 
PHP hulp

PHP hulp

23/12/2024 04:46:05
 
Stefan van Iwaarden

Stefan van Iwaarden

26/01/2006 17:42:00
Quote Anchor link
je moet van de method van je formulier een get maken. dan geeft hij de waardes van je formulier mee in de link.

EDIT: maak even van de action, search.php.

als er op submit gedrukt wordt moet je search.php de bezoeker laten doorsturen naar resultaten.php met bijv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header("Location: resultaten.php");
?>


daarna kun je op resultaten.php met $_GET['trefwoord']; de ingevoerde waarde uit de link ophalen. hij zal dan als ik de link uit jouw voorbeeld neem 50 cent opleveren.
Gewijzigd op 26/01/2006 17:45:00 door Stefan van Iwaarden
 
Luuk

luuk

26/01/2006 17:51:00
Quote Anchor link
ik snap het niet helemaal, kan je een voorbeeld geven?
 
Stefan van Iwaarden

Stefan van Iwaarden

26/01/2006 18:36:00
Quote Anchor link
je search.php moet er in ieder geval zo uitzien.

*** search.php ***
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if (isset($_POST['submit']))
{

$trefwoord = $_POST['trefwoord'];

header("Location: resultaten.php?trefwoord='.$trefwoord.'");
}

?>


<center><br>
<form name="formulier" action="resultaten.php" method="get">
<input type="text" name="trefwoord" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $trefwoord ?>
">
<select name="zoekcat">
<option value="mp3_artiest">Artist</option>
<option value="mp3_naam">Title</option>
</select>
<input type="submit" name="submit" value="Search"></form>
<br></center>

en je resultaten.php zal er dan ongeveer zo uit moeten zien denk ik.

*** resultaten.php ***

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?PHP
$database_url
= "localhost";
$gebruiker = "******";
$wachtwoord = "******";
$database = "******";

$trefwoord = $_GET['trefwoord']; //haal de waarde achter "trefwoord" op.

mysql_connect("$database_url", "$gebruiker", "$wachtwoord") or die("Connectie met Database mislukt");
mysql_select_db("$database") or die("Fout bij het selecteren van de database");

$select = "SELECT * FROM mp3 WHERE $zoekcat LIKE '%$_POST[trefwoord]%'";
$query = mysql_query($select) or die("Er is iets fout gegaan!");
$resultaten = mysql_num_rows($query);

if($trefwoord == "")
{
echo "Your search query should contain at least 3 characters!";
}
elseif(strlen($trefwoord) < 3)
{
echo "Your search query should contain at least 3 characters!";
}
elseif ($resultaten == "0")
{
echo "No results!";
}
else {

$i = 1;

while ($zoekdata = mysql_fetch_array($query)) {

if ($i == 1)
{

    $color = "#e6ebf3";
    $i++;
}

else
{
    $color = "#ffffff";
    $i = 1;
}


?>

<table width="100%" id="table1" style="border-collapse: collapse" bordercolor="#000000">
<tr bgcolor="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $color ?>
">
<td width="80%">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[mp3_artiest] ?>
-
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[mp3_naam] ?>
</td>
<center><td width="10%"><a href="download.php?id=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[mp3_id] ?>
">Download</a></td></center>
<center><td width="10%"><a href="#" onClick="send(
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $zoekdata[ringtoon_link] ; ?>
);return false;">Ringtone</a></td></center>

</tr>
</table>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
}
echo "<tr><td colspan='4'><i><b>$resultaten Result(s) for $trefwoord</b></i></td></tr>\n";
}
else {
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? } ?>



ik zie net dat je ook nog op artiest en titel kan zoeken, eventueel kun je die ook meegeven in je link. dat doe je dan zo.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header("Location: resultaten.php?trefwoord='.$trefwoord.'&zoekenop='.$zoekcat.'");
?>
Gewijzigd op 26/01/2006 18:43:00 door Stefan van Iwaarden
 
Luuk

luuk

04/02/2006 12:09:00
Quote Anchor link
Ik bedoel eigenlijk dat als je naar die link gaat: http://www.mp3master.nl/resultaten.php?trefwoord=";.$trefwoord.' dat hij ook gelijk zoekt. Moet er dan niet iets van submit in de link ofzo?
 
Jan Koehoorn

Jan Koehoorn

04/02/2006 12:12:00
Quote Anchor link
Nee, je kunt gewoon checken op GET op die pagina. Wel $trefwoord van tevoren urlencoden, anders gaat de url de mist in met spaties en dergelijke.
 
Luuk

luuk

04/02/2006 12:23:00
Quote Anchor link
Hmm...kan je dat wat simpeler uitleggen? Want ik snap het niet helemaal ;) Of kan je voorbeeld geven?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.