Ik krijg het niet voor elkaar om uit een adressenbestand (phpmyadmin-database) een achternaam te kiezen dmv een formulier.
Als ik de variabele vervang door een vaste achternaam lukt het wel. De fout zit dus in de syntax waar ik een variabele uitlees.

formulierachternaam:

<html>
<head>
<title>Achternaam formulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

</style>
<link href="../css/formulier.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<h3>Achternaam formulier</h3>
<form action="evaluatieachternaam.php" method="post" enctype="multipart/form-data">
<table width="686" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="122"><h4>Achternaam: </h4></td>
<td colspan="2"> <h5>
<input type="text" name="achternaam" size="50" maxlength="50" value=" ">
</h5></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2">
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2"> <input type="reset" name="Reset" value="Reset">
<input type="submit" name="Verzenden" value="Verzenden"> </td>
</tr>
</table>
</form>
</body>
</html>

evaluatieachternaam:

<html>
<head>
<title>Clubleden formulier evaluatie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
</style>
<link href="../css/formulier.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h3>Evaluatie van het demonstratieformulier</h3>
<h4>De volgende gegevens werden ingesteld in het demonstratieformulier:</h4>
<table width="686" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="194"><h5>Achternaam:</h5></td>
<td width="492">
</td>
</tr>
</table>
</body>
</html>
<?php

// Define database connection details
include 'dbwachtwoorden.php';
//$table = "formulier";

// Connect to dbase
include 'dbconnection.php';

$voornaam = $_POST['voornaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$geslacht = $_POST['geslacht'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$plaatsnaam = $_POST['plaatsnaam'];
$geboortedatum = $_POST['geboortedatum'];
$huistelefoon = $_POST['huistelefoon'];
$mobiel = $_POST['mobiel'];
$emailadres = $_POST['emailadres'];
$lidnummer = $_POST['lidnummer'];
$team = $_POST['team'];
$opmerkingen = $_POST['opmerkingen'];


// SELECT FROM tablenaam
$sql = "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";

$resultaat = mysql_query($sql); // voer SQL code uit

mysql_select_db(databasenaam);
$result = mysql_query($sql);
if (!$result){
echo 'Fout: sql statement heeft niet gewerkt.<BR>';
echo 'MySQL retourneerde: '.mysql_error();
exit;
}
echo 'OK';

echo "<table width=1400 border=1 cellspacing=2 cellpadding=2>";
//echo "<tr><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td>";
echo "<tr><td><b>ID</b></td><td><b>Lidnr</b></td><td><b>Naam</b></td><td><b>&nbsp;</b></td><td><b>Adres</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>Telefoon</b></td><td><b>Mobiel</b></td><td><b>Geboren</b></td><td><b>Geslacht</b></td><td><b>Emailadres</b></td><td><b>Team</b></td>";
echo "<tr><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td>";

if ($resultaat) {
while ($rij = mysql_fetch_array($resultaat)) {

echo "<tr>";
echo "<td>".$rij["nr_ID"].":"."&nbsp;"."</td>";
echo "<td>".$rij["lidnummer"]."</td>";
echo "<td>".$rij["achternaam"]."</td>";
echo "<td>".$rij["voornaam"]." ".$rij["tussenvoegsel"]."</td>";
echo "<td>".$rij["straatnaam"]."</td>";
echo "<td>".$rij["huisnummer"]."</td>";
echo "<td>".$rij["postcode"]."</td>";
echo "<td>".$rij["plaatsnaam"]."</td>";
echo "<td>".$rij["huistelefoon"]."</td>";
echo "<td>".$rij["mobiel"]."</td>";
echo "<td>".$rij["geboortedatum"]."</td>";
echo "<td>".$rij["geslacht"]."</td>";
echo "<td>".$rij["emailadres"]."</td>";
echo "<td>".$rij["team"]."</td>";
echo "</tr>";

}
}
echo "</table>";
?>
vervang
$sql = "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";
eens door
$sql = "SELECT * FROM ledenformulier WHERE achternaam LIKE '%{$achternaam}%' ORDER BY achternaam, voornaam";

en gebruik bij array's ($rij, etc) altijd enkele quotes ( ' )
dus niet $array["key"], maar $array['key']
Ik heb de syntax letterlijk overgenomen en de quotes aangepast maar nog steeds zonder resultaat. Ik krijg nog steeds GEEN foutmeldingen maar de table blijft leeg.
Misschien moet je even proberen dat enctype uit je formulier te halen. Het kan zijn dat het daarom fout gaat.
Probeer dit eens:
$sql = "SELECT * FROM ledenformulier WHERE achternaam='" . $achternaam . "' ORDER BY achternaam, voornaam";

EDIT:
Voor zover ik weet van SQL is het zo dat die in het geval van jullie (achternaam = '$achternaam') letterlijk zoekt op wat er tussen de '' staat. Dus where achternaam = $achternaam, ik neem aan dat er geen gebruiker is die '$achternaam' als achternaam heeft ;)
@ Robert: SQL accepteert dat wel hoor.
Robert: met jou syntax blijft de table ook leeg...maar..... ik heb iemand in de database gezet met de achternaam Achternaam.
Als ik deze naam nu in het formulier invul, staan de gegevens van meneer Achternaam ineens wel in de table. Dit moet ons een stap dichterbij de oplossing brengen.
Misschien heeft Jan Koehoorn de oplossing maar ik snap zijn tip niet.
<form action="evaluatieachternaam.php" method="post" enctype="multipart/form-data">

maak daar van:

<form action="evaluatieachternaam.php" method="post">

is maar een gok hoor
<?php
$sql = "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";
$resultaat = mysql_query($sql); // voer SQL code uit
mysql_select_db(databasenaam);
$result = mysql_query($sql);
?>

Dit stukje vind ik ook een beetje gek: eerst voer je een query uit en dan selecteer je een database en dan voer je de query nog een keer uit.
Nee Jan dit maakt geen verschil.
marc koster schreef op 11.11.2005 19:57
Nee Jan dit maakt geen verschil.
dat enctype niet bedoel je?

Reageren