Avatar billede impulze Nybegynder
09. december 2008 - 20:00 Der er 11 kommentarer og
1 løsning

Vis "id tal" for hvert indlæg

Hej

Gæstebogen her er opdelt i grupperinger, hvor i dette tilfælde er alle de oprettede indlæg under gruppen "99" der bliver vist her.

Det jeg nu ønsker er, at for hvert indlæg skal der vises et "id" tal.
F.eks. hvis der er i alt 10 indlæg under gruppen "99", så skal den starte med "Indlæg #10" og ned til "Indlæg #1".


Eksempel:
http://boller.nu/jul/tagwall2.php


Koden:
<?php
include ("config.php");
mysql_connect($host, $bruger, $password);
mysql_select_db($database);

$pr_side = 5;

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM tagwall2 WHERE gruppe = 99"),0);

$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

$query = mysql_query ("SELECT * FROM tagwall2 WHERE gruppe = 99 ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());

while ($vis = mysql_fetch_array($query)) {
$msg = nl2br($vis['besked']);
?>
        <table border="0" width="494" cellspacing="0" cellpadding="0">
            <tr>
                <td class="topbar-middle-images">
                <div class="topbar-middle" style="float: left"><b>Indlæg #<? echo "$antal"; ?></b></div>
            </td>
            </tr>

            <tr>
            <td class="px494-text-middle" style="width:494px">

                <table class="indlaeg" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td class="c1">
                        <b><? echo "$vis[navn]"; ?></b><br /><br />
                        Dato: <? echo "$vis[dato]"; ?><br />
                        Klokken: <? echo "$vis[tid]"; ?>
                        </td>
                        <td class="c2"><? echo "$msg"; ?></td>
                    </tr>
                </table>

            </td>
            </tr>

            <tr>
            <td class="downbar-middle"></td>
            </tr>

            <tr>
                <td style="height:3px"></td>
            </tr>
        </table><?}?>
Avatar billede hmortensen Nybegynder
09. december 2008 - 20:36 #1
Hvad med:

$counter = $antal - $visfra;

while (...)
{
  echo $counter--;
}
Avatar billede jakobdo Ekspert
09. december 2008 - 20:48 #2
Kan du ikke bare printe ID ?
Avatar billede impulze Nybegynder
09. december 2008 - 21:29 #3
#hmortensen
Det virker perfekt. Men nu har jeg sat sideskift på, hvilken ikke er kommet med under spørgsmålet kan jeg se.. Så nu starter tællingen forfra når man skifter side, hvis det f.eks. er 5 indlæg pr. side..

#jakobdo
Fordi denne tagwall udskriver kun et bestemt gruppering.
F.eks. databasen indholder 1000 indlæg (samlet fra alle undersiderne), hvor der kun 100 af dem under gruppen "99" skal vises. Så det virker lidt forkert at printe ID når alt er samlet under et database.
Avatar billede impulze Nybegynder
09. december 2008 - 21:30 #4
Og her er sidste delen af koden:
<?php
if ($vis_fra > 0) {
  $back= $vis_fra - $pr_side;
  echo "<a href='?visfra=".$back."'>Forrige</a> ";
}
$page = 1;
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
  if($vis_fra != $page * $pr_side - $pr_side) {
    echo "<a href='?visfra=".$start."'>".$page."</a> ";
  } else {
    echo " <b> $page </b> ";
  }
  $page++;
}

if ($vis_fra < $antal - $pr_side) {
  $next = $vis_fra + $pr_side;
  echo "<a href='?visfra=".$next."'>Næste</a>";
}
?>
Avatar billede impulze Nybegynder
16. december 2008 - 12:41 #5
Help?..
Avatar billede jakobdo Ekspert
16. december 2008 - 12:49 #6
Kunne du ikke bruge $vis_fra til noget ?
Hopper den ikke 5 hver gang ?
Avatar billede impulze Nybegynder
16. december 2008 - 13:16 #7
Jo det virker meget fint, som jeg også skrev, hvis jeg udskrev alle beskederne..
Men eftersom jeg har sideskift script på og viser max 10 beskeder pr. side, så starter den forfra ved de nye sider..
Avatar billede jakobdo Ekspert
16. december 2008 - 13:24 #8
Da vel ikke $vis_fra ?
Avatar billede impulze Nybegynder
16. december 2008 - 18:39 #9
Nej jakobdo selvfølgelig gør $vis_fra ikke det… Det var bare mig der har lavet en fejl 40 her tidligere i dag, det beklager jeg sgu :)

Kan I begge komme med et svar og tak for hjælpen ;)
Avatar billede jakobdo Ekspert
16. december 2008 - 20:15 #10
Du får et svar.
Avatar billede jakobdo Ekspert
18. december 2008 - 19:11 #11
Burde point ikke deles med hmortensen ?
hmortensen: Hvis du vil have halvdelen, så skriv lige.
Avatar billede hmortensen Nybegynder
18. december 2008 - 19:45 #12
Det går nok, havde ikke set at spørger bad om svar ;)
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