Det kan goeres nemmere, det vil sige hvis jeg har forstaaet problemet.
Jeg gaar ud fra at du har brugere registreret med id og brugernavn i en tabel. Brugere kan saa, paa en maade udenfor dette spoergsmaal, oprette beskedder der faar et beskednummer og bliver vist paa en side besked.php med beskednummer. Samtidig bliver beskedden registreret i en tabel med beskednummer, id fra brugeren der oprettede det, og hvorvidt beskedden er laest eller ej.
Dit spoergsmaal er saa hvordan du paa en side kan skabe links til de ikke-laeste beskedder.
Har jeg forstaaet det korrekt?
I saa fald har jeg de foelgende forslag. For at teste mine forslag lavede jeg to tabeller: (1) klovnefiskenUser med userid og navn. (2) klovnefiskenBesked med id (= beskednummer), userid, og laes. Fordi jeg regnede med at laes kun skulle have to vaerdier eftersom beskedden var laest eller ej lavede jeg vaerditypen boolean, altsaa med vaerdierne TRUE og FALSE. Jeg puttede et par vaerdier i tabellerne som jeg viser til sidst.
Jeg vil saa foreslaa at du laver en join query for beskednummer og bruger for ikke-laeste beskedder, for eksempel saaledes:
SELECT b.id, u.username FROM klovnefiskenBesked b JOIN klovnefiskenUser u ON b.userid=u.id
WHERE b.laes=FALSE
Den query indsaetter du i din php kode, og for hver raekke af resultatet laver du to variable $beskednr og $user, og de indsaetter du i din echo.
Den foelgende php kode gav mig disse tre links (i overensstemmelse med vaerdierne i mine tabeller):
Besked nr 2 fra userB
Besked nr 4 fra userB
Besked nr 6 fra userA
Jeg brugte denne kode:
<?
$link = mysql_connect (xxxx, yyyy, zzzz) or die(mysql_erorr());
mysql_select_db(qqqq) or die('Could not select database');
$sql="SELECT b.id, u.username FROM klovnefiskenBesked b JOIN klovnefiskenUser u ON b.userid=u.id
WHERE b.laes=FALSE";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result))
{
$beskednr=$rows['id'];
$user=$rows['username'];
echo '<a href="vis_besked.php?id="' . $id . '>Besked nr ' . $beskednr . ' fra ' . $user . '</a><br/>';
}
mysql_close($link);
?>
Jeg har koden paa denne side som du er velkommen til at besoege:
http://christianjorgensen.be/klovn.phpDu naevner ikke hvordan du saa vil markere i tabellen hvilke spoergsmaal er laest. En maade kunne vaere efter at have trukket spoergsmaalene ud saa at lave saadan en query: mysql_query("UPDATE klovnefiskenBesked SET laest=TRUE WHERE laest=FALSE");
Jeg haaber du kan bruge det. Hvis jeg har misforstaaet problemet saa forklar.
Her er mine tabeller og vaerdier:
CREATE TABLE klovnefiskenBesked(id INT, userid INT, laes Bool);
INSERT INTO klovnefiskenBesked VALUES(1, 1, TRUE);
INSERT INTO klovnefiskenBesked VALUES(2, 2, FALSE);
INSERT INTO klovnefiskenBesked VALUES(3, 2, TRUE);
INSERT INTO klovnefiskenBesked VALUES(4, 2, FALSE);
INSERT INTO klovnefiskenBesked VALUES(5, 2, TRUE);
INSERT INTO klovnefiskenBesked VALUES(6, 1, FALSE);
CREATE TABLE klovnefiskenUser(id INT, username VARCHAR(10));
INSERT INTO klovnefiskenUser VALUES(1,'userA');
INSERT INTO klovnefiskenUser VALUES(2,'userB');