Hallo,

Ik heb een lijst met gegevens uit mijn SQL db en nu wil ik wanneer ik een van de items selecteer er een "page id" (pid) aan de url wordt toegevoegd op basis van mijn "id" uit mij SQL db.

Ik heb op het moment dit:

<?php
$sql = "SELECT * FROM producten WHERE id >='2'";
if (($result = mysql_query($sql)) === false)
{
echo showSQLError($sql,mysql_error(),'Fout met database.');
}

$pid= 'id';
$name = "Product_title";
$comments = "Product_info";

for ($i=1;$i<=6;$i++){

$rows = mysql_fetch_assoc($result);

echo '<ul>';
echo '<li>' . 'Name: ' . $rows[$name] . '<br />'
. 'Comment: ' . $rows[$comments] . '</li>' ;
echo '</ul>';

}

?>

Ik heb wel het een en ander gezocht op google en youtube maar ik kan er niet echt wijs uit worden. Ik zou het fijn vinden als iemand mij op weg kan helpen.

Bvd, Tom
Om je een beetje op weg te helpen;

<?php
$sql = "SELECT * FROM producten WHERE id >='2'";
$result = mysql_query($sql);
if ($result == false) {
echo showSQLError($sql,mysql_error(),'Fout met database.');
}
while ($rows = mysql_fetch_array($result)) {
echo '<ul>';
echo '<li>' . 'Name: ' . $rows['Product_title'] . '<br />'
. 'Comment: ' . $rows['Product_info'] . '</li>' ;
echo '</ul>';
}
?>
Hoi Wout,

Je heb nu van mijn "for loop" een "while loop". Ik wil echter alleen maar de eerste 5 items in de lijst hebben(wat met een "for loop" te regelen is). En van een van die geselecteerde items wil ik de "id" aan de url toevoegen.
Waarom doe je geen LIMIT in je MySQL query dan? Dit is veel makkelijker nl;

SELECT * FROM producten WHERE id >='2' LIMIT 0,5
Dat wist ik nog niet. Is inderdaad makkelijker en overzichtelijker (zeker als je nog niet zo heel lang met php bezig bent).

Ik heb dan nu:

<?php
$sql = "SELECT * FROM producten ORDER BY id ASC LIMIT 1,5";
$result = mysql_query($sql);
if ($result == false) {
echo showSQLError($sql,mysql_error(),'Fout met database.');
}

$pid= 'id';
$name = "Product_title";
$comments = "Product_info";

while ($rows = mysql_fetch_assoc($result)) {

echo '<ul>';
echo '<li>' . 'Name: ' . $rows[$name] . '<br />'
. 'Comment: ' . $rows[$comments] . '</li>' ;
echo '</ul>';

}


?>

Maar hoe krijg ik dan de "pid" in de url?
Welke URL?

Ik neem voor het gemak aan dat je linkjes wilt maken uit je database-id's?

Zoiets? ;

<?php
$sql = "SELECT * FROM producten ORDER BY id ASC LIMIT 1,5";
$result = mysql_query($sql);
if ($result == false) {
echo showSQLError($sql,mysql_error(),'Fout met database.');
}

$pid= 'id';
$name = "Product_title";
$comments = "Product_info";

while ($rows = mysql_fetch_assoc($result)) {

echo '<ul>';
echo '<li>' . '<a href="link.php?id=' . $rows[$pid] . '">Name: ' . $rows[$name] . '</a><br />'
. 'Comment: ' . $rows[$comments] . '</li>' ;
echo '</ul>';

}
?>

Het heeft overigens niet zoveel zin om je databaseveldnamen in variabelen te zetten.

-- Geeft niks hoor, zo ben ik ook begonnen.. Je hebt voor alles even een voorbeeldje nodig om het even door te krijgen..
Zoek ook even een tutorial op over PHP, zoals bij w3schools.com, wat de basis van PHP behandeld en je ook wat databasetechniek bij kan brengen. Ook staan er tutorials voor SQL op.
Bedankt Wout.

Het werkt nu wel goed, en zoals in de echo staat is de tekst van $name nu een link geworden. En nu moet ik de tekst aanklikken om de links te laten werken ik zou maar ik zou eigenlijk willen dat ik willekeurig binnen een blok kan klikken en dat de link dan ook werkt, net zoals je bij een hover effect ook willekeurig binnen een blok moet blijven.

Is zoiets mogelijk?

Wat betreft de databaseveldnamen in variabelen, dat had -SanThe- mij ook al eens verteld maar ik vindt het nu nog iets overzichtelijker om het zo te vermelden.

P.S. Ik heb hier al het boek "PHP & MySQL voor dummies" voor me liggen en raadpleeg ik youtube ook regelmatig. Ik vindt het meestal wel fijn om te zien wat er gebeurd want in een boek slaan ze regelmatig een stap over. Maar over het algemeen heb ik net weer een andere gedachte dan dat in de tutorial behandeld wordt, dus je zal me nog wel regelmatig tegenkomen met vragen ;)
Tom geen op 22/09/2011 17:58:20


Wat betreft de databaseveldnamen in variabelen, dat had -SanThe- mij ook al eens verteld maar ik vindt het nu nog iets overzichtelijker om het zo te vermelden.

Dit moet iets genuanceerder:
Soms moet je veldnamen in variable zetten bv als je met PDO werkt.

Reageren