Resutaten uit database via zoekfunctie weergeven op andere pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel Karst

Daniel Karst

03/02/2013 12:49:38
Quote Anchor link
Hallo allemaal,

Ik heb een internetsite met mysql database.
Op de site wordt via index.php per onderdeel de nodige php pagina met inhoud opgeroepen.
In éen onderdeel heb ik een pagina die wordt opgeroepen met een linker div en een rechter div.
Ik probeer nu in de linker div een zoekfunctie in te bouwen met de onderdelen Plaats, Postcode, en Zoekwoord met de bedoeling dat op 1 van de zoekonderdelen de resultaten vanuit mijn database in de rechter div worden weergegeven.

Ik dacht eraan om de linker div een pagina genaamd search.php met daarin de zoekfunctie op te laten roepen en de rechter div een pagina genaamd results.php. Zodat de resultaten vanuit search.php worden weergeven in results.php.

Ik ben al aan het stunten geweest maar ik krijg het niet voor elkaar. Kan iemand mij helpen en uitleggen hoe ik dit het beste aan kan pakken.

Bij voorbaat dank.
 
PHP hulp

PHP hulp

07/12/2021 01:26:06
 
- Raoul -

- Raoul -

03/02/2013 12:52:27
Quote Anchor link
Mogen we je index.php eens zien?
 
Daniel Karst

Daniel Karst

03/02/2013 13:17:41
Quote Anchor link
Hallo Raoul,

Google eens op dordogne renovatie en mijn site staat boven aan...
Vervolgens klik je in het midden van de pagina onder de titel Propriétés à Rénover op cliquez ici. Je komt dan op de pagina in kwestie met de linker en de rechter div

Alvast bedank voor de moeite Raoul.
 
- Raoul -

- Raoul -

03/02/2013 14:17:59
Quote Anchor link
Ik doelde eigenlijk meer op de code van het bestand.
 
Daniel Karst

Daniel Karst

03/02/2013 14:47:51
Quote Anchor link
Dat begrijp ik maar de site is een aanéénschakeling van php pagina's dus ikdacht dat het makkelijker is om je naar de site zelf te verwijzen. maar hieronder vind je de code van de desbetreffende pagina.

Deze pagina maakt de linker en de rechter div aan. Met in de linker div de weergave van de volledige inhoud van de data base. In de rechter div roep ik de zoekfunctie op. Met deze zoekfunctie wil ik dus de resultaten in de linker div kunnen filteren op - Plaats, Postcode of Zoekwoord.
Code:

<div class="content" style="position:relative; float:left; width:960px; height:auto; margin:0px auto 45px auto;">

<div style="width:auto; height:45px; position:relative; float:right; right:100px; top:-45px; padding-left:20px; padding-right:20px; background-color:#d2c8aa; border-left:1px solid #FFFFFF; border-top:1px solid #FFFFFF; border-right:1px solid #FFFFFF;">
<div class="headimg" style="border-right:solid 1px #ff9b00; height:50px; width:60px;">
<img src="./img/immoimg/pictorenov.png" alt="Maisons et Propri&eacute;t&eacute;s &agrave; R&eacute;nover" width="50px" height="50px;" title="Maisons et Propri&eacute;t&eacute;s &agrave; R&eacute;nover en Dordogne" />
</div>
<div class="headtext"><center><h1 style="color:#333333; padding-top:8px;">Propri&eacute;t&eacute;s &agrave; R&eacute;nover</h1></center>
</div>
</div>

<br class="clearfloat" />

<div class="immoobjecten" style="width:550px; margin:-35px auto 20px auto; float:left; left:0px;">

<table cellspacing="5" style="margin:auto 0 auto 0">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
$query
= mysql_query("SELECT * FROM immobilier WHERE renovation='oui'");
while ($result = (mysql_fetch_array($query))){
    $result["date"] = date("d-m-Y", strtotime($result["date"]));
    $result["title"]= substr($result["title"],0,150);
    $result["text"]= substr($result["text"],0,250);
    $result["text"] = str_replace("``", "\"",$result["text"]);
    $result["text"] = strip_tags($result["text"]); ?>

<tr>
<td>

<table width="100%" style="border:1px dashed #999999;">
<tr bgcolor="#f0ead7">
<td width="auto" rowspan="3" valign="top">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? if ($result["img1"] != 'noimage.gif') { ?>
<img width="150" src="http://www.immocentre-dordogne.com/immobilier/
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["id"];?>
/
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["img1"];?>
" />
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? } ?>

</td>
<td height="20" style="color:#FFFFFF; padding-left:5px; background:#92875F;">
<center><h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["title"];?>
</h2></center>
</td>
</tr>
<tr>
<td class="text" align="left" valign="top" bgcolor="#d2c8aa" style="padding-left:5px;">
<span class="text">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["text"];?>
...
<a style="color:#ff9b00" href='index.php?page=immodetails&id=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["id"];?>
'>Details</a></span>
</td>
</tr>
<tr>
<td height="10" style="color:#333333; padding-right:5px; background:#92875F; text-align:right;">
Prix:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["prix"];?>
Euros
</td>
</tr>
</table>

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


</td>
</tr>
</table>

</div>

<div class="immoobjecten" style="width:400px; margin:-35px auto 20px auto; float:left; left:20px;">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include "search-immo.php";?>

</div>

**************
CODE SEARCH-IMMO.PHP

<div style="width:350px; height:250px; border:1px #FFFFFF solid; margin:20px auto 10px auto; position:relative; float:left;">
<h2>Search</h2>
<form name="search" method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$PHP_SELF?>
">
Seach for: <input type="text" name="find" /> in
<Select NAME="field">
<Option VALUE="ville">Plaats</option>
<Option VALUE="cp">Postcode</option>
<Option VALUE="text">Zoekwoord</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>

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
40
41
42
43
44
<?
 //This is only displayed if they have submitted the form
 if ($searching =="yes")
 {

 echo "<h2>Resultaten</h2><p>";
 
 //If they did not enter a search term we give them an error
 if ($find == "")
 {

 echo "<p>U moet een zoekterm invullen !";
 exit;
 }
  
 
 // We preform a bit of filtering
 $find = strtoupper($find);
 $find = strip_tags($find);
 $find = trim ($find);
 
 //Now we search for our search term, in the field the user specified
 $data = mysql_query("SELECT * FROM immobilier WHERE upper($field) LIKE'%$find%'");
 
 //And we display the results
 while($result = mysql_fetch_array( $data ))
 {

 echo $result['ville'];
 echo " ";
 echo $result['cp'];
 echo "<br>";
 echo $result['text'];
 echo "<br>";
 echo "<br>";
 }

 
 //This counts the number or results - and if there wasn't any it gives them a little message explaining that
 $anymatches=mysql_num_rows($data);
 if ($anymatches == 0)
 {

 echo "Sorry, wij hebben geen resultaten kunnen vinden.<br><br>";
 }

 
 //And we remind them what they searched for
 echo "<b>U heeft gezocht op :</b> " .$find;
 }

 ?>

</div>


Toevoeging op 03/02/2013 15:07:10:

Ik moet dus een manier vinden om de Id's uit de table "immobilier" van mijn mysql database weer te geven in de linker div geselecteerd op de resultaten uit de array $data welke wordt gegenereerd door de zoekfunctie. Maar hoe doe ik dat???
 
Machiel K

Machiel K

03/02/2013 17:50:08
Quote Anchor link
-
Gewijzigd op 03/02/2013 17:52:43 door Machiel K
 
Daniel Karst

Daniel Karst

16/02/2013 18:12:45
Quote Anchor link
Beste allemaal,

Ik heb gelukkig mijn probleem kunnnen oplossen. Zoals (bijna) altijd leek het veel simpeler dan ik had gedacht.

De oplossing zit zo.

Ik heb 1 hoofdpagina head.php die roept in een linker div de resultaten op via include results.php en in een rechter div de zoekfunctie via include search.php.

De pagina search.php ziet er als volgt uit:
<form action="index.php?page=head.php" method="post">
Zoeken <input type="text" name="term" />
<input type="submit" name="submit" value="Verzenden" />
</form>

Wat ik niet wist is dat je met de command action="" aangeeft dat je de zoekterm als een variable met de naam "term" naar de pagina index.php?page=head.php stuurt. En omdat ik met de pagina head.php de pagina results.php oproep kan ik in results.php alle resultaten uit de table "nametable" van de database oproepen door de variable $term te gebruiken.

In plaats van de variable $term, gebruik ik %$term%, door de variable te omsluiten met de procenttekens wordt de zoekopdracht niet per woord maar per letter behandeld en mocht er gezocht worden op de term BOB, dan worden alle resultaten met de term BOBBY en BOBSLEE ook weergegeven.

Als de zoekterm niet in mijn database aanwezig is wordt de pagina error.php via include opgeroepen en weergeven. Op deze pagina staat een simpele tekst zoals <p>Er zijn geen resultaten gevonden !</p>

In dit voorbeeld noem ik de table uit mijn database "nametable" met daarin de velden id, title, text, en price.

Mijn results.php ziet er als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php      
$term
= $_POST['term'];    
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
$query
= mysql_query("SELECT * FROM nametable WHERE (title like '%$term%' OR text like '%$term%')");
if (mysql_num_rows($query) <= 0) {
// no results
echo include 'error.php' ;
}
else
while ($result = (mysql_fetch_array($query)))
?>


<table>
<tr>
<td rowspan="3">
<img width="150" src="images/
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["id"];?>
/
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["img1"];?>
" />
</td>
<td>
<h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["title"];?>
</h2>
</td>
</tr>
<tr>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["text"];?>

</td>
</tr>
<tr>
<td>
Prijs:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $result["price"];?>
Euros
</td>
</tr>
</table>

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



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.