Zoeken dmv 2 teksvelden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

The master

the master

09/01/2007 13:53:00
Quote Anchor link
Hallo mensen,
ik ben nieuwe hier op het forum en zal proberen mij vraag duidelijk te formuleren.

Ik ben een beetje bezig met php / mysql aan het spel.
ik heb dus een database gemaakt voor een adressenboek.

Ik heb een tabel met daarin de waarde

voornaam
achternaam
etc..

nu kan ik zoeken op voornaam, maar ik wil ook kunnen zoeken op achternaam.

Individueel lukt dut wel maar samen niet.

voor zoeken voornaam heb ik.

<form name="form1" method="post">
voornaam <input name="voornaam" type="text" size="30" maxlength="12"><br>
achternaam <input name="achternaam" type="text" size="30" maxlength="12"><br>
<input type="submit" name="Submit" value="zoeken">
<input name="reset" type="reset" value="leegmaken">
</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
<?php

include 'opendb.php';

$voornaam=$_POST["voornaam"];
$achternaam=$_POST["achternaam"];
$sql = "SELECT * FROM `Adres` WHERE voornaam LIKE'%$voornaam%' ;";


$query = mysql_query( $sql ) or die( mysql_error() );
 
  

   while( $uitvoer = mysql_fetch_assoc( $query ) )
   {

      echo $uitvoer['voornaam'] . ' ' . $uitvoer['toevoeging'] . ' ' . $uitvoer['achternaam'] . ' <br>'
      . $uitvoer['straatnaam'] . ' ' . $uitvoer['huisnummer'] . ' ' . $uitvoer['toevoegsel'] . '<br>'
      . $uitvoer['postcode'] . '  ' . $uitvoer['plaats'] . '<br>' . $uitvoer[''] . '' .
      $uitvoer['telefoon_vast'] . '<br>' . $uitvoer['telefoon_mobiel'] . '<br>' . $uitvoer['e-mail'] . '' .  '<br> <hr>' ;
   }

  
  

?>


maar als ik op dezelfde manier achternaam er achter zet, dan kan ik of alleen zoeken op voor of achternaam en niet samen.

Of hij maakt het venster niet leeg , waardoor de resultaten boven elkaar komen.

Hoe werkt dit ?

Ik wil zoeken op voor en/ of achternaam.
 
PHP hulp

PHP hulp

24/04/2024 16:23:29
 
Joren de Wit

Joren de Wit

09/01/2007 14:01:00
Quote Anchor link
Dan zul je in je fomulier nog een optie moeten maken waar bezoekers kunnen aangeven waarop ze willen zoeken. Aan de hand van die optie maak je dan je $sql query:

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
<?php
// Beveilig de input van een gebruiker altijd!
$voornaam = mysql_real_escape_string($_POST['voornaam']);
$achternaam = mysql_real_escape_string($_POST['achternaam']);

$sql = "SELECT * FROM adres WHERE ";

switch($_POST['mode'])
{
    case
'voornaam' :
        $sql .= "voornaam LIKE '%".$voornaam."%'";
        break;
    case
'achternaam' :
        $sql .= "achternaam LIKE '%".$achternaam."%'";
        break;
    case
'beide' :
        $sql .= "voornaam LIKE '%".$voornaam."%' AND achternaam LIKE '%".$achternaam."%'";
        break;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
The master

the master

09/01/2007 16:01:00
Quote Anchor link
ik wil eigenlijk gewoon op 1 veld zoeken, klas genootje heeft me geholpen door middel van if en else.

if voornaam = empty...bla bla else zoek op achternaam.

dus ik kan nu op voornaam OF achternaam zoeken, dat is eigenlijk voldoende voor wat ik wilde, maar dat is bijna de hele code herhaald en te lang, dus het kan korter.
 
Joren de Wit

Joren de Wit

09/01/2007 16:45:00
Quote Anchor link
Is het nu opgelost, of wilde je nog wat anders?
 
The master

the master

09/01/2007 17:29:00
Quote Anchor link
het werkt wel maar ik vind de code te lang.
maar op dit moment werkt het wel.
 
Joren de Wit

Joren de Wit

09/01/2007 17:35:00
Quote Anchor link
Laat je code eens zien dan? Misschien dat hij op sommige punten ingekort kan worden?
 



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.