Hallo,

Ik zit ff vast met het volgende:

Ik heb een form gemaakt die gegevens in mijn mysql db zet.
nu wil ik alleen de basis gegevens laten zien.

<?
$sql = "SELECT * FROM formulier";
$res = mysql_query($sql);
while($row = mysql_fetch_object($res)){
echo $row->id." ";
echo $row->naam." ";
echo $row->voornaam." ";
echo $row->telefoon."<br>";
}
mysql_close();
?>

deze pagina word geinclude dus er is altijd db verbinding en dit werkt ook,

Wat lukt me niet:

Ik wil dat je bv op de id kan klikken zodat er een nieuwe pagina komt met alle gegevens uit de db betreft het aangeklikte id.

Wie heeft er een passende oplossing.
$_GET zal je probleem oplossen, al moet je natuurlijk wel even hoe het werkt.
LoL best simpel.

Is dit een goede code? Het werkt wel :)

Ik spreek hem aan met index.php?pagina=alles&id=1

<?
$idis = $_GET['id'];
$sql = "SELECT * FROM formulier WHERE id=$idis"; // Dit is de query
$res = mysql_query($sql); //Voer de query uit en zet het resultaat in $res
while($row = mysql_fetch_object($res)){ // Zet de waarden van de records stuk voor stuk in $row
echo $row->id." ";// Geef de waarde van veld "ID" weer
echo $row->naam." "; // Geef de waarde van veld "Naam" weer
echo $row->voornaam." "; // Geef de waarde van veld "Adres" weer
echo $row->telefoon."<br>"; // Geef de waarde van veld "Telefoon" weer
} // Sluit de while loop af
mysql_close(); // Verbreek de verbinding met de server
?>



het werkt wel, maar ik zou wel even een controle uitvoeren, want anders zou ik zo heel je database kunnen weggooien simpelweg door de url aan te passen. (wil je hier meer over weten, moet je in google maar eens sql injection intypen.)

dus zet er even een check voor als bijv.

<?php
if (!is_numeric($_GET['id']))
{
echo('Er is een fout opgetreden');
die();
}
?>
K zal weer ff gaan lezen.

Nog klein vraagje weet je hoe ik dit kan oplossen.

<?
$sql = "SELECT * FROM formulier";
$res = mysql_query($sql);
while($row = mysql_fetch_object($res)){
echo '<a href="index.php?pagina=alles&id='.$row['id'].'">'.$row['id'].'</a>';
echo $row->naam." ";
echo $row->voornaam." ";
echo $row->telefoon."<br>";
}
mysql_close();
?>

geeft Fatal error: Cannot use object of type stdClass as array in /home/thabomb/public_html/modules/rep.php on line 5

ik wil dat de id's links worden.
Je gebruikt mysql_fetch_object en dus zou je daarna $row->id moeten gebruiken op regel 5 van je voorbeeld. Op regel 6, 7 en 8 doe je het wel goed.

Tip: gebruik mysql_fetch_assoc in plaats van mysql_fetch_object. De eerste is ongeveer een factor twee sneller.
Jan Koehoorn schreef op 31.03.2007 01:01
Je gebruikt mysql_fetch_object en dus zou je daarna $row->id moeten gebruiken op regel 5 van je voorbeeld. Op regel 6, 7 en 8 doe je het wel goed.

Tip: gebruik mysql_fetch_assoc in plaats van mysql_fetch_object. De eerste is ongeveer een factor twee sneller.


Ik wil de resultaten onder elkaar en dat alle id's links zijn.
Ja, dat zei je al, en ik heb je het antwoord gegeven. In regel 5 gebruik je nu $row['id'] en dat zou $row->id moeten zijn.

Reageren