Hallo allemaal.

<?php

mysql_connect ("localhost","root","");
mysql_select_db("test123");



$result = mysql_query("SELECT * FROM test123");



echo "<table border='1'>

<tr>

<th>Achternaam</th>
<th>Voorletters</th>
<th>Roepnaam</th>
<th>Dienst</th>
<th>E-mail</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['achternaam'] . "</td>";
echo "<td>" . $row['voorletters'] . "</td>";
echo "<td>" . $row['roepnaam'] . "</td>";
echo "<td>" . $row['dienst'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "</tr>";
}
echo "</table>";

?>

Nu wil ik achternaam in een variabele zetten. Maar daar loop ik nu vast. Iemand een tip of tut? Bvd Joey
<?php

mysql_connect ("localhost","root","");
mysql_select_db("test123");



$result = mysql_query("SELECT * FROM test123 ORDER BY id DESC LIMIT 1");



echo "<table border='1'>

<tr>

<th>Achternaam</th>
<th>Voorletters</th>
<th>Roepnaam</th>
<th>Dienst</th>
<th>E-mail</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['achternaam'] . "</td>";
echo "<td>" . $row['voorletters'] . "</td>";
echo "<td>" . $row['roepnaam'] . "</td>";
echo "<td>" . $row['dienst'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "</tr>";
}
echo "</table>";


while($row = mysql_fetch_array($result))
{
$achternaam = $row['achternaam'];
$voorletters = $row['voorletters'];
$roepnaam = $row['roepnaam'];
$dienst = $row['dienst'];
$email = $row['email'];
}





echo "<form name=\"form\" action=\"test2.php\" method=\"POST\">";
echo "<p>1. Basisgegevens deelnemer</p><br />";
echo "Achternaam: <input type=\"text\" name=\"achternaam\" /><br />";
echo "Voorletters: <input type=\"text\" name=\"voorletters\" /><br />";
echo "Roepnaam: <input type=\"text\" name=\"roepnaam\" /><br />";
echo "Datum uit dienst: <input type=\"text\" name=\"dienst\" /><br />";
echo "E-mailadres: <input type=\"text\" name=\"email\" /><br /><br>";
echo "</form>";




?>

Dit is wat ik heb. Zoals je ziet maak ik in de while een variabele aan. Dus $achternaam bestaat wel degelijk.

Zoals ik eerder vermeld heb. Er wordt een lange formulier ingevuld. Dat alles word opgeslagen in DB1 vervolgens word het eerste deel van het 1ste formulier terug gehaald ter controle zo gauw er dan op submit wordt geklikt wordt dat opgeslagen in DB2. Dan wordt het 2de tergelijke tijd ook de laatste deel van het formulier weergegeven ter controle en moet dat ook worden opgeslagen in DB3
Dus $achternaam bestaat wel degelijk.


En daar vergis je je dus in. De eerste while() zal alle records ophalen (in dit geval slechts 1 door de LIMIT 1) waardoor de tweede while() helemaal niet wordt uitgevoerd. De records zijn namelijk op. Dus die tweede while() kan gewoon weg. Daarbij is het copiëren van variabelen ook niet echt zinvol, eerder zinloos geheugenverlies. Gebruik gewoon $row['achternaam'].
@SanThe: amen....
Hoe zet ik dat dan in hier in?

<?php
echo "Achternaam: <input type=\"text\" name=\"achternaam\" /><br />";
?>
<?php
echo 'Achternaam: <input type="text" name="achternaam" value="'.$row['achternaam'].'" /><br />';
?>
Dan wordt het niet weergegeven in de input ;)
Als je op voorhand weet dat je maar maximum 1 record verwacht, vervang dan de while door een if.

if($row = mysql_fetch_array($result))
...

Dan blijf je in de zelfde structuur, zelfde accolades, zelfde gedachtegang.
Dit lijkt me het meest simpele.
Ik moet Kris helemaal gelijk geven! Doordat je het in een while loop uitleest is $row op het einde false. Dus NA de while loop kan je niet meer bij de $row['achternaam'].

Reageren