PHP Vraagje

Status
Niet open voor verdere reacties.

Ravnoss

Gebruiker
Lid geworden
7 aug 2008
Berichten
7
Ik ben me sinds een paar dagen aan het verdiepen in PHP en de meeste probleempjes die ik tot nu toe tegen kwam waren uitstekend met google op te lossen. Echter, ik zit nu met een probleempje waar ik zo snel geen antwoord op vind en dit leek me een mooi moment om de hulp van experts in te roepen. Waarschijnlijk is het met een kleine aanpassing op te lossen, maar ik zie de aanpassing even niet :)

HTML:
<html>
<head>
<title>Zoeken</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
PHP:
<?php

include 'library/config.php';
include 'library/opendb.php';


$Naam = $_GET['Naam'];

$result = mysql_query("SELECT * FROM interieurproducent WHERE Naam LIKE '%$Naam%'")
or die(mysql_error());  


While($row = mysql_fetch_array($result)){

echo "<b>Naam</b>: ".$row['Naam'];
echo "<br />";
echo " <b>Adres:</b> ".$row['Straat'];
echo "<br />";
echo " <b>Postcode:</b> ".$row['Postcode'];
echo "<br />";
echo " <b>Plaats:</b> ".$row['Plaats'];
echo "<br />";
echo " <b>Land:</b> ".$row['Land'];
echo "<br />";
echo " <b>Telefoonnummer:</b> ".$row['Telefoonnummer'];
echo "<br />";
echo " <b>Website:</b> ".$row['Internetadres'];
echo "<br />";
echo " <b>E-mail adres:</b> ".$row['e-mailadres'];
echo "<br />";
echo " <b>Aantal medewerkers:</b> ".$row['Medewerkers'];
echo "<br />";
echo " <b>Geadviseerd maximaal krediet:</b> ".$row['Max Krediet'];
echo "<br />";
echo "<br />";

}
?>
HTML:
<form method="get">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr> 
<td width="100">Naam Concurent</td>
<td><input name="Naam" type="text" id="Naam"></td>
<tr> 
<td width="100">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr> 
<td width="100">&nbsp;</td>
<td><input type="submit" value="Zoek"></td>
</tr>
</table>
</form>
</body>
</html>

Zoals je kan zien is dit op het moment een pagina, waarbij je een klein formulier hebt waar je een naam van een bedrijf moet invullen waarna hij zoek of iets soortgelijks in de database staat. Toen ik in de query WHERE Naam = '$Naam' had staan ging het precies zoals ik het had bedacht. Wanneer je naar de pagina ging kreeg je eerst alleen de zoek knop te zien en nadat je ging zoeken kreeg je informatie. Echter toen ik de query verandere naar WHERE Naam LIKE '%$Naam%' ging het fout. Wanneer je nu op de pagina komt krijg je gelijk de hele database te zien, en pas nadat je gaat zoeken krijg je alleen het bedrijf waarop je hebt gezocht te zien.
Mijn vraag is, hoe krijg ik in het begin alle records weer weg, zodat er pas data tevoorschijn komt nadat op de zoek knop is gedrukt.

Alvast bedankt!
 
Laatst bewerkt:
Logisch omdat je de query altijd laat uitvoeren. De eerste keer is $Naam leeg aangezien je niets aan de URL toevoegt.

Hij voert dan deze query uit
Code:
SELECT * FROM interieurproducent WHERE Naam LIKE '%%'
Wat dus inhoudt dat je alles wilt hebben.

Door een IF-statement om je SQL gedeelte te zetten moet het opgelost zijn.
PHP:
<html>
<head>
<title>Zoeken</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php 

include 'library/config.php'; 
include 'library/opendb.php'; 

if(isset($_GET['Naam'])) {
  $Naam = $_GET['Naam']; 

  $result = mysql_query("SELECT * FROM interieurproducent WHERE Naam LIKE '%$Naam%'") or die(mysql_error());

  while($row = mysql_fetch_assoc($result)){
    echo "<b>Naam</b>: ".$row['Naam']; 
    echo "<br />"; 
    echo " <b>Adres:</b> ".$row['Straat']; 
    echo "<br />"; 
    echo " <b>Postcode:</b> ".$row['Postcode']; 
    echo "<br />"; 
    echo " <b>Plaats:</b> ".$row['Plaats']; 
    echo "<br />"; 
    echo " <b>Land:</b> ".$row['Land']; 
    echo "<br />"; 
    echo " <b>Telefoonnummer:</b> ".$row['Telefoonnummer']; 
    echo "<br />"; 
    echo " <b>Website:</b> ".$row['Internetadres']; 
    echo "<br />"; 
    echo " <b>E-mail adres:</b> ".$row['e-mailadres']; 
    echo "<br />"; 
    echo " <b>Aantal medewerkers:</b> ".$row['Medewerkers']; 
    echo "<br />"; 
    echo " <b>Geadviseerd maximaal krediet:</b> ".$row['Max Krediet']; 
    echo "<br />"; 
    echo "<br />"; 
  }
} 
?>
<form method="get">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr> 
<td width="100">Naam Concurent</td>
<td><input name="Naam" type="text" id="Naam"></td>
<tr> 
<td width="100">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr> 
<td width="100">&nbsp;</td>
<td><input type="submit" value="Zoek"></td>
</tr>
</table>
</form>
</body>
</html>
 
Hartstikke bedankt! Niet alleen werkt het nu, maar door je uitleg snap ik het nu ook!

Dankje!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan