Avatar billede xsix Nybegynder
26. marts 2008 - 11:33 Der er 7 kommentarer og
1 løsning

Query inde i while loop

Har den her kode til et mail script jeg har lavet, og nu prøver jeg så at tilføje et link til den person der har afsendt det, men det har jeg lidt problemer med, da mine mails ligger i en tabel der hedder "mail", og der er kun navnet på afsenderen, så har jeg en tabel der hedder "players", hvor der så ligger navne på alle personer, men det er id'et fra "players" jeg skal bruge til at lave linket.
Jeg har så indsat dette inde i mit while loop
"$querys = mysql_query("SELECT id FROM players WHERE accountname = $row1[sender]");
$user_data = mysql_fetch_assoc($querys);"
Men det giver en fejl der lyder sådan her "Parse error: syntax error, unexpected T_STRING in /xxx/xxx/xxx/xxx/mailsystem.php on line 35"
og linje 35 er så der hvor jeg har linket:
echo nl2br("Sender: "<a href=\"profile.php?id=$user_data[id]\">" . $row1['sender'] . "</a>";


--------------
mailsystem.php
--------------
<?
include("connect.php");
include("bbcode.php");

$sql = "SELECT count(*) AS antal FROM mail WHERE visable = '1' AND recipient = " . $_SESSION['user_id'];
$query = mysql_query($sql);
$mail_data = mysql_fetch_assoc($query);

mysql_query("UPDATE mail SET new = '0' WHERE recipient=".$_SESSION[user_id]);



if($mail_data['antal'] > 0) {
$row = mysql_query("SELECT * FROM mail WHERE visable='1' AND recipient=".$_SESSION[user_id]." ORDER BY time DESC") or die (mysql_error());
while($row1 = mysql_fetch_array($row))
{

$querys = mysql_query("SELECT id FROM players WHERE accountname = $row1[sender]");
$user_data = mysql_fetch_assoc($querys);

echo nl2br("Sender: "<a href=\"profile.php?id=$user_data[id]\">" . $row1['sender'] . "</a>";
?><br><?
echo nl2br("Recived: " . $row1['time'] . ""); ?><br><?
echo htmlspecialchars("Subject: " . $row1['topic'] . ""); ?><br><?
echo bbcode("Message: " . $row1['message'] . ""); ?><br><?
?>
Avatar billede bitmatic Nybegynder
26. marts 2008 - 12:41 #1
Tror der er rod i dine anførselstegn.

Prøv med det her i stedet:

echo nl2br("Sender: <a href=\"profile.php?id=" . $user_data[id] . "\">" . $row1['sender'] . "</a>";
Avatar billede bitmatic Nybegynder
26. marts 2008 - 12:58 #2
I øvrigt kan en editor med syntax higlightning hjælpe meget med at finde den slags problemer.

Find din rette editor her :-)
http://en.wikipedia.org/wiki/Comparison_of_text_editors
Avatar billede xsix Nybegynder
26. marts 2008 - 13:07 #3
Hmm får stadig samme fejl. Men prøver lige en sådan editor senere.
Avatar billede xsix Nybegynder
26. marts 2008 - 13:15 #4
Ahh jamen jeg har skam allerede en sådan editor, den jeg bruger hedder "SciTE". :)
Avatar billede bitmatic Nybegynder
26. marts 2008 - 13:25 #5
Hmmm.....

Så prøv:
echo nl2br("Sender: <a href=\"profile.php?id=" . $user_data[id] . "\">" . $row1[sender] . "</a>";
Avatar billede xsix Nybegynder
26. marts 2008 - 13:36 #6
Hmm det virkede, nu kommer det frem, men linket er uden id, og får denne fejl der hvor mit sql er:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/virtual/warblood.com/public_html/mailsystem.php on line 33
Avatar billede xsix Nybegynder
26. marts 2008 - 13:39 #7
Jeg fik det til at virke, skulle bare sætte ' rundt om $row1[sender] i min sql :)
Mange tak for din hjælp, smid et svar for point ;)
Avatar billede bitmatic Nybegynder
26. marts 2008 - 14:30 #8
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester