Hier weer een vraag over JOIN, het blijft misschien het lastigste onderwerp van php mysql.
Ik ben voor mezelf een cmsje aan het bouwen.
Mijn vraag is, ik heb een registratiesysteem gebouwd, dat werkt, wanneer ik eenmaal ben ingelogd, krijg ik dmv van sessies me gebruikersnaam te zien, ik kom dan in het menu, waarbij ik een post kan invoeren. Ik zou graag willen dat mijn "in sessie opgeslagen" gebruikersnaam wordt meegegeven aan de post, zodat die op de index pagina te zien is.
Ik heb gezocht, de tutorial gevolgd hier, maar niks helpt :(
Tot nu toe 2 tabelllen
POSTS
- id (int)
- titel (varchar)
- datum (tekst, voor de eenvoud)
- tekst (tekst)
- gebruikerid (mediumint)
GEBRUIKERS
- id
- naam
- password
- value (gebruik ik nog niet, nvt)
een gedeelte uit
new_post.php
<?php
session_start();
if($_SESSION['id'])
{
echo "<p>Voeg hier een nieuw bericht toe. Je bent ingelogd als: \"" . $_SESSION['gebruikersnaam'] . "\"</p>";?>
<?php
} else {
$titel = $_POST['titel'];
$datum = $_POST['datum'];
$bericht = $_POST['bericht'];
$sql = mysql_query("INSERT INTO `posts` (titel, datum, bericht) VALUES ('$titel', '$datum', '$bericht')");
echo "Het bericht zit er nu bij! Wil je nog een post maken klik dan <a href=\"new_post.php\">hier</a> <br/>
of <a href=\"..\"index.php\">bekijk</a> de home page om je post te zien> !";
} }
?>
------------------------------------------------------------------------------------
en hier een gedeelte uit index.php waar de data uit de database wordt gehaald
<?php
include ("admin/db.php");
$sql = "SELECT * FROM `posts` ORDER by id DESC";
$query = mysql_query( $sql )
or die( mysql_error() );
// Controleren of er resultaten zijn:
if( mysql_num_rows( $query ) == 0 ){ echo "De tabel is leeg.";}else{
// While maken
while( $uitvoer = mysql_fetch_assoc( $query ) ) {
echo 'auteur: ' . $uitvoer['naam'] . '<br/>' . 'titel: ' . $uitvoer['titel'] . '<br/>' . 'datum: ' . $uitvoer['datum'] . '<br/>' . 'bericht: ' . $uitvoer['bericht'] . '<br/><br/>' ; }}
?>
Hier heb ik even geen JOIN gebruikt, omdat het elke keer mislukte, als ik dit doe krijg ik dit te zien:
auteur:
titel : blaat
datum : blaat
bericht : blaat
Het moet dus uiteindelijk worden
auteur: $gebruikersnaam
titel : blaat
datum : blaat
bericht : blaat
1.027 views