webForumDet fria alternativet

Problem med loop

3 svar · 428 visningar · startad av dahlgren

dahlgrenMedlem sedan aug. 20011 946 inlägg
#1

Hej

Ber om ursäkt för att det är ganksa mycket kod men jag kan inte riktigt hitta ver felet är. Koden i sig fungerar men inte riktigt som jag vill så jag vet inte riktigt vart jag ska leta. Felet yttrar sig genom att datumet en nyhet är skapad inte hamnar under nygheten om det är två eller fler nyheter med bilderi inslagda. Lite svårt att för klara men titta här så syns felet tydligt. Skulle bli jätteglad om någon har möjlighet att hjälpa mig.

      echo "<br><p class=\"date\">".$r['createdate'].", ".$r['fullname'];

Raden ovan är den raden som skriver ut informationen som hamnar fel.

 <?PHP
function shortString($string, $num) {
return trim(preg_replace ("/([^\s]+)$/", "", substr ($string, 0, $num)));
}
  
if(empty($_GET['id'])) {
$curdate = date("Ymd");
$sql1 = "SELECT News.id AS id, News.headline AS headline, News.content, " .
                        "DATE_FORMAT(News.createdate, '%Y-%m-%d') AS createdate, " .
                        "News.stopdate AS stopdate, User.fullname AS fullname, " .
                        "News.picture_id as pic_id " .
                "FROM News, User " .
                "WHERE $curdate >= " . 'startdate' .
                        " AND " . $curdate . " <= " . 'stopdate' .
                        " AND News.author_username = User.username ".
                "ORDER BY startdate DESC";
        $strQuery = mysql_query($sql1) or die(mysql_error());
  
        echo "<table border=\"0\">";
        while ($r = mysql_fetch_array($strQuery)) {
          if(!empty($r['pic_id'])) {
            $sql2 = "SELECT Files.id, Files.filename, Files.type " .
                    "FROM News, Files " .
                    "WHERE Files.id = News.picture_id AND News.id = '".$r['id']."'";
            $strQuery2 = mysql_query($sql2) or die(mysql_error());
            $rs = mysql_fetch_array($strQuery2);
            echo "<div class=\"firstPageArticleContent\"> <img src=\"admin/pictures/".$rs['filename']."\" width=\"150\" height=\"100\" align=\"right\"><br>";
          }
          echo "<div class=\"firstPageArticleHeader\">" . $r['headline'] . "</div>";
          
                                //HTML-taggar
                      $r['content'] = str_replace("<", "<", $r['content']);
                      $r['content'] = str_replace(">", ">", $r['content']);
                      //Fixar till radbrytningar
                      $r['content'] = str_replace("\n","<br />", $r['content']);
                      //"Forumkoder"
                      $r['content'] = str_replace("[b]","<b>", $r['content']);
                      $r['content'] = str_replace("[/b]","</b>", $r['content']);
                      $r['content'] = str_replace("[i]","<i>", $r['content']);
                      $r['content'] = str_replace("[/i]","</i>", $r['content']);
                      $r['content'] = str_replace("[u]","<u>", $r['content']);
                      $r['content'] = str_replace("[/u]","</u>", $r['content']);
                      $r['content'] = preg_replace("/\[url=([^]]+)]([^[]+)\[\/url]/",
                                                         "<a href=\"\\1\" target=\"_blank\">\\2</a>",
                                                         $r['content']);
          
          
          if(strlen($r['content']) > 150) {
     echo shortString($r['content'], 150)."..."; 

			echo "<img src=\"/images/blank.gif\" height=\"6\" width=\"1\"><br>";
            echo "<a href=\"index.php?id=" . $r['id'] . "\" class=\"toolBoxLink\">Läs mer&gt;&gt;</a></div>";
          }
          else {
            echo $r['content'];
            echo "<img src=\"/images/blank.gif\" height=\"6\" width=\"1\"><br>";
          }
  
          echo "<br><p class=\"date\">".$r['createdate'].", ".$r['fullname'];
        }
      }
      else {
  
        $curdate = date("Ymd");
        $sql1 = "SELECT News.id AS id, News.headline AS headline, News.content, " .
                  "DATE_FORMAT(News.createdate, '%Y-%m-%d') AS createdate, " .
                  "News.stopdate AS stopdate, User.fullname AS fullname, " .
                  "News.picture_id AS pic_id " .
                "FROM News, User " .
                "WHERE id = " . $_GET['id'] .
                  " AND News.author_username = User.username " .
                "ORDER BY startdate DESC";
        $strQuery = mysql_query($sql1) or die(mysql_error());
  
        echo "<table border=\"0\">";
        while ($r = mysql_fetch_array($strQuery)) {
          if(!empty($r['pic_id'])) {
                       $sql2 = "SELECT Files.id, Files.filename, Files.type " .
                    "FROM News, Files " .
                    "WHERE Files.id = News.picture_id AND News.id = '".$r['id']."'";

            $strQuery2 = mysql_query($sql2) or die(mysql_error());
            $rs = mysql_fetch_array($strQuery2);
  
            echo "<div class=\"firstPageArticleContent\"> <img src=\"admin/pictures/".$rs['filename']."\" width=\"150\" height=\"100\" align=\"right\"><br>";
          }
             //HTML-taggar
                      $r['content'] = str_replace("<", "<", $r['content']);
                      $r['content'] = str_replace(">", ">", $r['content']);
                      //Fixar till radbrytningar
                      $r['content'] = str_replace("\n","<br />", $r['content']);
                      //"Forumkoder"
                      $r['content'] = str_replace("[b]","<b>", $r['content']);
                      $r['content'] = str_replace("[/b]","</b>", $r['content']);
                      $r['content'] = str_replace("[i]","<i>", $r['content']);
                      $r['content'] = str_replace("[/i]","</i>", $r['content']);
                      $r['content'] = str_replace("[u]","<u>", $r['content']);
                      $r['content'] = str_replace("[/u]","</u>", $r['content']);
                      $r['content'] = preg_replace("/\[url=([^]]+)]([^[]+)\[\/url]/",
                                                         "<a href=\"\\1\" target=\"_blank\">\\2</a>",
                                                         $r['content']);
          
          echo "<div class=\"firstPageArticleHeader\">".$r['headline']."</div>";
          echo $r['content'];
          //echo "<a class=\"readMore\" href=\"index.php?id=".$r['id']."\" title=\"Test\">".$r['content']."</a>";
          echo "<img src=\"/images/blank.gif\" height=\"6\" width=\"1\"><br>";
          echo "<br><p class=\"date\">".$r['createdate'].", ".$r['fullname'];
          echo "<br>";
          echo "<a href=\"javascript:history.go(-1)\">Tillbaka</a>";
        }
      }
UlfTMedlem sedan maj 20018 027 inlägg
#2

Jag ser tre nyheter, och alla tre är daterade. Det är i FF, om det nu har någon betydelse.

dahlgrenMedlem sedan aug. 20011 946 inlägg
#3

Hmm min webbläsare (firefox 1.0.6) så visas datument som hör till nyheten som ligger högst upp under det nedersta datumet. Ett snabbtest i IE så ser allt rätt ut. Inte så kosntigt att jag inte hittar fel i PHP-koden.

PeeerMedlem sedan mars 20025 907 inlägg
#4

För mig ser sidan ut likadant i både FF (1.0.6) och IE6.0. Svårt att lösa ett fel om man inte ser det.

263 ms totalt · 3 externa anrop · v20260731065814-full.30151723
124 ms — hämta forumlista (db)
131 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)