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?!
Wat wil er niet lukken?
Geef eens wat relevante code.
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.
Op je overzicht zet je bij elk onderdeel een link
<a href="uitgebreideinfopagina.php?id=...hierhetid...>Klik voor meer info</a>

En op uitgebreideinfopagina.php kijk je wat er in $_GET['id'] zit en daar haal je alle info voor op uit de database.
(EDIT: Precies.)


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 ...
}
...
?>
Wauw bedankt, ik ga het proberen!
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...

?>

Nog dynamischer:

<?php

// definieer variabelen
$sql = '';
$where = array();

// 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...

?>
?>
Ik heb nu wat zitten proberen en het is me gelukt!

Reageren