Avatar billede kirkeby Nybegynder
14. december 2003 - 23:25 Der er 8 kommentarer og
1 løsning

Hvordan får jeg den til at skrive side 1, 2, 3, 4, osv.

Hej !  inde på http://kjukken.dk/forum/viewboard.php?BoardID=1 står der i bunden :

Pages: 1 2 3 ... Last Page >>   

kan man ikke rette i scriptet så der skriver alle sider ?
(og selvfølgelig laver break hvis der er brug for det =)

selve viewboard scriptet ser sådan ud :


<?

include("functions.php");
include("forum_template.php");

mysql_connect($db_Hostname, $db_UserName, $db_Password) || die("Can't Connect to Database: ".mysql_error());
mysql_select_db($db_Database);


$fSettings = GetSettings();


if (empty($BoardID) || ($BoardID == 0))
    {fHeader();UhOh($txt['errNoBoardID']);}


$LastVisit = fHeader();

if (!CheckViewAccess($BoardID))
    UhOh($txt['CantRead']);

$topicsperpage = $fSettings['topicsperpage'];

$query = "SELECT count(*) from t_messages where BoardID = $BoardID AND FirstMessage = 'yes'";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$totaltopic = $row[0];

$pages = DoPageSpan($topicsperpage,$totaltopic,"viewboard.php?BoardID=$BoardID");
     
$Board = GrabBoardInfo($BoardID);
$BoardName = $Board["bName"];

$ent["fTitleBGColor"] = $fSettings["title_backcolor"];
$ent["fTitleTColor"] = $fSettings["title_textcolor"];
$ent["fCatBGColor"] = $fSettings["cat_backcolor"];
$ent["fCatTColor"] = $fSettings["cat_textcolor"];
$ent["fMsgBGColor1"] = $fSettings["msg_backcolor"];
$ent["fMsgBGColor2"] = $fSettings["msg_backcolor2"];
$ent["fBorderColor"] = $fSettings["bordercolor"];
$ent["AnnouncementMSG"] = GrabAnnouncement($BoardID);
//$ent["NavPath"] = "<a href=$fSettings[ScriptURL]/index.php>$fSettings[ForumName]</a> : //$BoardName";
$ent["PageSpan"] = $pages;
$ent["LoginBox"] = GrabLoginBox("$fSettings[ScriptURL]/viewboard.php?BoardID=$BoardID");
$ent["Moderator"] = GrabModerators($BoardID);

$ent["NewandReply"] = "<a href=\"".$fSettings["ScriptURL"]."/message.php?Action=NewMessage&BoardID=$BoardID\">"."<img src=\"".$fSettings["ImageURL"]."/newtopic.gif\" alt=\"New Topic\" border=0></a>";

$CurrentUserPass = GrabUserPass();

if (is_mod($CurrentUserPass[UserName],$CurrentUserPass[Password],$BoardID))
    $ent["ModFunctions"] = "<b>Moderator Funktioners:</b> <a href=message.php?Action=locktopic&TopicID=$TopicID>$txt[LockTopic]</a> | <a href=message.php?Action=movetopic&TopicID=$TopicID>$txt[MoveTopic]</a>";


$template = ReadTemplate("viewboard");

$pos_start = strpos($template,"<!--%LoopStart%-->")+strlen("<!--%LoopStart%-->");
$pos_end = strpos($template,"<!--%LoopEnd%-->",$pos_start);

$first_part = substr($template,0,$pos_start-strlen("<!--%LoopStart%-->"));
$last_part = substr($template,$pos_end,strlen($template)-$pos_end);

print ParseTemp($first_part,$ent);

$first_loop = substr($template,$pos_start,$pos_end-$pos_start);
   
$table = "";
$limit = $page*$topicsperpage;
$query = "SELECT ID,Subject,BoardID,TopicID,Poster,Locked,DatePosted,ReplyNotice,Emoticon,FirstMessage,PosterIP,PostIcon,numReplies,numViews from t_messages where BoardID = $BoardID AND FirstMessage = 'yes' Order By DateEdited DESC LIMIT $limit,$topicsperpage";
$result = mysql_query($query);
if ($row = mysql_fetch_array($result))
{   
    do
    {
        $tInfo = $row;
   
        $totalmessage = $tInfo["numReplies"]+1;
        $messagesperpage = $fSettings["messagesperpage"];
       
        $div = ceil($totalmessage/$messagesperpage);

        $pages2 = "";
        $temp = 0;
        $temp2 = 0;

        if ($totalmessage > $messagesperpage)
        {
            $temp = 0;
            $pages2 = "( <img border=0 src=$fSettings[ImageURL]/pages.gif> ";
       
            while ($temp < $div)
            {
                $temp2 = $temp+1;
                if ($temp2 > 3)
                {
                    $pages2 .= " .. <a href=\"viewtopic.php?TopicID=".$tInfo['TopicID']."&page=$div\">Last Page</a>";
                    $temp = 4;
                }
                else
                    $pages2 .= " <a href=\"viewtopic.php?TopicID=".$tInfo['TopicID']."&page=$temp\">$temp2</a>";
       
                $temp++;
            }
            $pages2 .= " )";   
        }
       
       
        $query = "SELECT DatePosted,Poster from t_messages where TopicID =".$tInfo["TopicID"]." Order By DatePosted DESC LIMIT 1";
        $result2 = mysql_query($query);
        $row2 = mysql_fetch_row($result2);
        $tIcon = GrabPostIcon($row["ID"]);
       
        $row2[1] = trim($row2[1]);
        $ent["LatestMSGPoster"] = "<a href=$fSettings[ScriptURL]/member.php?Action=viewprofile&username=".rawurlencode($row2[1]).">$row2[1]</a>";
        $ent["LatestMSGDate"] = FormatDate($row2[0]);
        $ent["LatestMSGTime"] = FormatTime($row2[0]);
        $ent["TopicIcon"] = "<img border=0 src=$fSettings[ImageURL]/$tIcon>";
        $ent["tSubject"] = "<a href=$fSettings[ScriptURL]/viewtopic.php?TopicID=$tInfo[TopicID]>".SensorWord(stripslashes($tInfo['Subject']))."</a> ";
        $ent["tSubject"] .= " <font size=1>$pages2</font>";
        if (!is_read_topic($tInfo["TopicID"],$LastVisit))
        {
            $ent['FolderIcon'] = "<img border=0 alt=\"New Reply\" src=\"".$fSettings["ImageURL"]."/newfolder.gif\">";
            if ($totalmessage > 25)
                $ent['FolderIcon'] = "<img border=0 alt=\"New Reply (Hot Topic)\" src=\"".$fSettings["ImageURL"]."/newhotfolder.gif\">";
        }
        else
        {
            $ent['FolderIcon'] = "<img border=0 alt=\"Topic\" src=\"".$fSettings["ImageURL"]."/folder.gif\">";
            if ($totalmessage > 25)
                $ent['FolderIcon'] = "<img border=0 alt=\"Hot Topic\" src=\"".$fSettings["ImageURL"]."/hotfolder.gif\">";
        }
        //if ($tInfo["Locked"] == 1) {$ent['tSubject'] .= "<img border=0 src=\"".$fSettings["ImageURL"]."/lock.gif\" alt=\"This topic has been locked\">";}
       
        if ($tInfo["Locked"] == 1) {$ent['FolderIcon'] = "<img border=0 src=\"".$fSettings["ImageURL"]."/lockfolder.gif\" alt=\"This topic has been locked\">";}
       
        $tInfo["Poster"] = trim($tInfo["Poster"]);
        $ent["tTopicStarter"] = "<a href=$fSettings[ScriptURL]/member.php?Action=viewprofile&username=".rawurlencode($tInfo[Poster]).">$tInfo[Poster]</a>";
        $ent["tReplies"] = $tInfo["numReplies"];
        $ent["tViews"] = $tInfo["numViews"];
       
        print ParseTemp($first_loop,$ent);
       
    } while ($row = mysql_fetch_array($result));
}


print ParseTemp($last_part,$ent);

fFooter();
?>


Mvh Jesper
Avatar billede eagleeye Praktikant
14. december 2003 - 23:52 #1
Er du sikker på det er i det koden den udskriver det??
Der er ikke umiddelbart noget som skriver de link ud.

Det ser ud som om det bliver lavet i en funktion DoPageSpan:
$pages = DoPageSpan($topicsperpage,$totaltopic,"viewboard.php?BoardID=$BoardID");
Avatar billede kirkeby Nybegynder
15. december 2003 - 00:09 #2
Ja, den fil der hedder viewboard.php indeholder det der står ovenfor..  kan ikke se hvilken fil det ellers skulle være i :(

Mvh Jesper
Avatar billede eagleeye Praktikant
15. december 2003 - 00:10 #3
Det kunne være i:
include("functions.php");

Du kan evt prøve at kigge i de to filer der includes efter den funktion: DoPageSpan
include("functions.php");
include("forum_template.php");
Avatar billede kirkeby Nybegynder
15. december 2003 - 01:03 #4
arrhh  =)    fandt dette :

function DoPageSpan($messagesperpage,$totalmessage,$link)
{
    global $page;
   
    if (($totalmessage < $messagesperpage) || (!$page))
        $page = 0;
         
    if ($totalmessage > $messagesperpage)
    {
        $div = ceil($totalmessage/$messagesperpage);
        $temp = 0;
        $pages = "Pages: ";
   
        if ($page > 2)
            $temp = $page-2;
        if ($temp > 0)
            $pages .= "<a href=$link&page=0><< First Page</a> ... ";
       
        while ($temp < $div)
        {
            $temp2 = $temp+1;
            if ($temp == ($page+3))
            {
                $temp = $div-1;
                $pages .= "... <a href=\"$link&page=$temp\">Last Page >></a>";
               
            }
            elseif ($temp == $page)
                $pages .= "$temp2 ";
            else
                $pages .= "<a href=\"$link&page=$temp\">$temp2</a> ";
       
            $temp++;
        }   
    }
   
    return $pages;
}


( i functions)
Avatar billede eagleeye Praktikant
15. december 2003 - 01:12 #5
Prøv at lave det om til dette:



function DoPageSpan($messagesperpage,$totalmessage,$link)
{
    global $page;
   
    if (($totalmessage < $messagesperpage) || (!$page))
        $page = 0;
         
    if ($totalmessage > $messagesperpage)
    {
        $div = ceil($totalmessage/$messagesperpage);
        $temp = 0;
        $pages = "Pages: ";
   
        $pages .= "<a href=$link&page=0><< First Page</a> ... ";
       
        while ($temp < $div)
        {
            $temp2 = $temp+1;

            if ($temp == $page)
                $pages .= "$temp2 ";
            else
                $pages .= "<a href=\"$link&page=$temp\">$temp2</a> ";
     
            $temp++;
        }   

        $pages .= "... <a href=\"$link&page=$temp\">Last Page >></a>";
    }
   
    return $pages;
}
Avatar billede kirkeby Nybegynder
15. december 2003 - 01:23 #6
Hej Eagleeye !

Det virker fint !

Men hvad gør man når der kommer flere sider end der kan stå på en linje, hopper den så selv ned på en ny eller ? =)

- Husk også at give et "svar" så jeg kan give dig nogle points... 

mvh Jesper
Avatar billede eagleeye Praktikant
15. december 2003 - 01:25 #7
Ja så hopper den ned på en ny linje af sig selv.
Avatar billede kirkeby Nybegynder
15. december 2003 - 09:04 #8
okay, du får mange tak for hjælpen !

Mvh Jesper
Avatar billede kirkeby Nybegynder
15. december 2003 - 17:30 #9
eagleeye, hvis du har tid må du gerne kontakte mig over messenger (jkp@jkp.dk)

Mvh Jesper
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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