webForumDet fria alternativet

Varför skriver den inte ut rätt?

PHP

6 svar · 276 visningar · startad av Zir Tiger

Medlem sedan maj 200256 inlägg
Frågan#1
if($line->sist > $linb->out){
		$nytt = "<img src=\"nytt.gif\">";}else{$nytt = "";}

Detta är ett script som jämför 2 datetime kolumner i en databas. En där det står när man sist loggade ut (out) och en där det står när sista inlägget är gjort i en tråd. Varför visar den att det finns nya inlägg i trådar där sista inlägget skrevs innan sista utloggningen? Kan man inte jämföra 2 datetime kolumner på det sättet?

Medlem sedan dec. 2001314 inlägg
#2

Ska det inte vara $line->out istället för $linb->out?

Medlem sedan maj 200256 inlägg
#3

Nope.. 2 olika MySQL resultat.. =/

Använder mig av: lina, linb, linc etc..

Medlem sedan dec. 2001314 inlägg
#4

Prova följande

if(strtotime($line->sist) > strtotime($linb->out)){
        $nytt = "<img src=\"nytt.gif\">";}else{$nytt = "";}
Medlem sedan maj 200256 inlägg
#5

Nope funkar inte.. Det blir samma fel.

Alltså: Den tar inte nödvändigtvis det nyaste inlägget. Den kan säga att vilket inlägg som helst är nytt. Den tar dock inte olika från gång till gång utan bestämmer sig för vissa.

Medlem sedan maj 200256 inlägg
#6

Jag får inte till det. Den vet att om man skriver ett helt nytt inlägg så hamnar bilden rätt. Men loggar jag sedan in med någon annan användare då är bilden inte där. Sedan verkar bilden ha "fastnat" på några av trådaran. Ingen som vet varför? Det är helt skevt. :/

Medlem sedan maj 200256 inlägg
#7
<?php
$rakna = 1;
  $sql = "SELECT * FROM forum WHERE tillhor=\"$kategori\" ORDER BY sist DESC";
 $res = mysql_query($sql, $db);
 while ($line = mysql_fetch_object($res))  {
 $sqz = "SELECT * FROM register WHERE id=\"$line->av\"";
 $rex = mysql_query($sqz, $db);
 while ($linb = mysql_fetch_object($rex))  {
  $sqq="SELECT * FROM tillhor WHERE tillhor=\"$line->id\"";
	$result = mysql_query($sqq);
		$row = mysql_fetch_array($result);
		$num_rows = mysql_num_rows($result);
		if(strtotime($line->sist) > strtotime($linb->out)){
		$nytt = "<img src=\"nytt.gif\">";}else{$nytt = "";}
 $sqr = "SELECT * FROM register WHERE id=\"$line->avsist\"";
 $rer = mysql_query($sqr, $db);
 while ($linr = mysql_fetch_object($rer))  {
		if($rakna % 2 == 0){
	 echo "<tr class=\"px1\"><td>$nytt<a href=\"forumet.php?tillhor=$line->id&kategori=$kategori\">$line->rubrik</a></td>
	 <td align=\"right\">$num_rows inlägg</td><td width=\"35%\" align=\"right\"><a href=\"info.php?visa=$linb->id\" target=\"_blank\">$linb->namn</a></td><td align=\"right\" style=\"font-size: xx-small;\">$line->sist<br>av $linr->namn</td></tr>";}
	 else{echo "<tr class=\"px2\"><td>$nytt<a href=\"forumet.php?tillhor=$line->id&kategori=$kategori\">$line->rubrik</a></td>
	 <td align=\"right\">$num_rows inlägg</td><td width=\"35%\" align=\"right\"><a href=\"info.php?visa=$linb->id\" target=\"_blank\">$linb->namn</a></td><td align=\"right\" style=\"font-size: xx-small;\">$line->sist<br>av $linr->namn</td></tr>";}
	 }
	 $rakna++;
	 }
	 }
	
  mysql_free_result ($res);
 ?>

Okej.. Jag vet att det här förmodligen går att korta ner på nåt sätt men skit i det och hjälp mig bara med bildgrejen.

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)