Gegevens uit db en linken voor meer info howto?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy

roy

30/03/2007 23:44:00
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
$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.
Gewijzigd op 01/01/1970 01:00:00 door Roy
 
PHP hulp

PHP hulp

20/11/2024 16:17:31
 
Jelmer -

Jelmer -

30/03/2007 23:52:00
Quote Anchor link
$_GET zal je probleem oplossen, al moet je natuurlijk wel even hoe het werkt.
 
Roy

roy

31/03/2007 00:26:00
Quote Anchor link
LoL best simpel.

Is dit een goede code? Het werkt wel :)

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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
$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
?>
Gewijzigd op 01/01/1970 01:00:00 door roy
 
Stefan van Iwaarden

Stefan van Iwaarden

31/03/2007 00:39:00
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if (!is_numeric($_GET['id']))
{

    echo('Er is een fout opgetreden');
    die();
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Roy

roy

31/03/2007 00:49:00
Quote Anchor link
K zal weer ff gaan lezen.

Nog klein vraagje weet je hoe ik dit kan oplossen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
$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.
 
Jan Koehoorn

Jan Koehoorn

31/03/2007 01:01:00
Quote Anchor link
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.
 
Roy

roy

31/03/2007 01:06:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

31/03/2007 01:09:00
Quote Anchor link
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.
 



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.