Ik heb al veel problemen met dit gehad. Ik heb even een test database aangemaakt, om het onder de knie te krijgen, maar het wil maar niet lukken. Ik heb de volgende database aangemaakt.
db name = henk
daarin zit één tabel 'alles'
daarin zitten de volgende dingen. id, tekst, more.
Nu wil ik het volgende. Ik wil zoals je bijvoorbeeld bij een webwinkel vaak ziet dat je per product een 'meer info' knopje hebt en als je er op klikt dat je dan op een pagina komt, waar je het product alleen ziet. Ik dacht dit te kunnen doen aan de hand van de 'id' die het product heeft, maar het wil maar niet lukken. Kan iemand mij helpen?!
Ik heb niet echt veel code op dit moment, maar ik wil een linkje per product of bericht. Als je er op klikt dat je een uitgebreide pagina krijgt per link. Dus dat ik een pagina heb, waar titel, foto en ee beschrijving krijg en dit per link automatisch vanuit de database gelezen word op basis van het id dat het bericht heeft.
Je hebt ergens een overzicht met items, een beperkt aantal velden wordt getoond, in een tabel of in een soort preview-div.
Daar zet je een link.
bv.
<div class="item">
... (de preview van het item) ...
<a href="p=producten&id=15">Meer lezen</a>
</div>
Dit wordt door php gegenereerd, vanuit gegevens uit de DB.
Je zou zoiets kunnen doen:
<?php
...
if (!empty($_GET['id'])) {
// we hebben een id. We vragen enkel dit record op.
// hier gaan we alle velden meenemen
$sql = "
SELECT
id, titel, beschrijving, ...
FROM artikels
WHERE id=" . (int) $_GET['id'] ;
// query uitvoeren, fetchen ...
// volledige info geven
}
else {
// geen id. Hier gaan we de preview tonen
$sql = "
SELECT
id, titel
FROM artikels
ORDER BY id";
// query uitvoeren, fetchen ...
}
...
?>
Ik doe het meestal zelf iets anders: zo blijf je bij 1 query.
<?php
// definieer variabelen
$sql = '';
$where = '';
// als er een ID is opgegeven
if (isset($_GET['id']) AND !empty($_GET['id'])
{
// we hebben een id. We vragen enkel dit record op.
// hier gaan we alle velden meenemen
$where = "WHERE id=" . (int) $_GET['id'] ;
}
// bouw query op
$sql = "
SELECT
id, titel
FROM artikels
".$where."
ORDER BY id";
// voer uit
$res = mysql_query($sql);
// en meer...
// als er een ID is opgegeven
if (isset($_GET['id']) AND !empty($_GET['id'])
{
// we hebben een id. We vragen enkel dit record op.
$where[] = "id=" . (int) $_GET['id'] ;
}
// als er een $user_id is opgeven (fictief)
if (isset($_SESSION['user_id']) )
{
$where[] = "user_id=" . $_SESSION['user_id'] ;
}
// maak $where naar string
if(count($where) > 0)
{
$where = "WHERE " . implode(" AND ", $where);
}
// bouw query op
$sql = "
SELECT
id, titel
FROM artikels
".$where."
ORDER BY id";
// voer uit
$res = mysql_query($sql);
// en meer...