[Hilfe]Blätterfunktion mit Kategorien

lulatsch55

Grünschnabel
Moin,
ich habe mir eine Blätterfunktion gebaut nach dem Tut hier:
http://www.tutorials.de/forum/php-tutorials/306453-datenbank-auslesen-und-auf-seiten-verteilen.html

Es läuft auch alles gut.
Ich will so einen kleinen Download Manager machen leider bekomm ichs nicht hin mit den Kategorien in der Blätterfunktion. Er soll die ID abrufen von der Kategorie wie z.B. Software.
Hoffentlich vesteht ihr was ich meine :)

So sieht meine bis jetzt aus:
Code:
<?php
require("connect.inc.php");
include 'config.inc.php';
$result = mysql_query("SELECT * FROM downloads where cat = $_GET[id]");
$eintragsanzahl = mysql_num_rows($result);
$maxEinträge = 1;
$seitenanzahl = ceil($eintragsanzahl/$maxEinträge); 

$SelectCatList = "Select * from dlcats where cat = $_GET[id] order by Name ASC";
$QueryCatList = mysql_query($SelectCatList);
if($_GET['page'] == 1)
    {
        $result2 = mysql_query("SELECT * FROM downloads where cat = $_GET[id] LIMIT 0,$maxEinträge");
        echo "$eintragsanzahl Downloads <br> \n";
        while ($row = mysql_fetch_assoc($result2)) {
           echo "<a href='index.php?navi=show&id=".$row['id']."'>".$row['titel']."</a> <br> \n";
            }
						while ($ArrayCatList = mysql_fetch_array($QueryCatList))
{
        for($i = 1;$i<($seitenanzahl +1);$i++)
            {

                echo "<a href='index.php?navi=dlcats&id=".$ArrayCatList[ID]."&page=".$i."'>".$i."</a> ";
				}
            }
    }
echo "<br>";	
if ($_GET['page'] >1)
    {
        $start=($_GET['page']*$maxEinträge)-$maxEinträge;
        
            $result2 = mysql_query("SELECT * FROM downloads where cat = $_GET[id] LIMIT $start,$maxEinträge");
            echo "$eintragsanzahl Downloads <BR> \n";
            while ($row = mysql_fetch_assoc($result2)) {
                echo "<a href='index.php?navi=show&id=".$row['id']."'>".$row['titel']."</a> <br> \n";
                }
				while ($ArrayCatList = mysql_fetch_array($QueryCatList))
{
            for($c = 1;$c<($seitenanzahl +1);$c++)
            {
						
                echo "<a href='index.php?navi=dlcats&id=".$ArrayCatList[ID]."&page=".$c."'>".$c."</a> ";
				}
            }
    } 
?>
Wie bekomme ich es hin das er die richtige ID abruft bei den Seitenzahlen?

mfg lulatsch55
 
Zuletzt bearbeitet:
HI dir is schon Klar das die Bläterfunktion nur dafür da is um jetzt zb.nur15 einträge auf einer Page darzustellen ansonsten must du eine normale apfrage wie immer machen!

PHP:
<?php
$abfrage = "SELECT Spaltenname FROM Tabellenname";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "$row->Spaltenname";
   }
?>

Und benutze das SCript von http://php-einfach.de/tuts_mysql_blaetterfunktion.php

Siht so aus :

PHP:
<?php
$seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
   {
   $seite = 1;
   }

//Verbindung zu Datenbank aufbauen

$link = mysql_connect("localhost","Username","Passwort") or die ("Keine Verbindung moeglich");
mysql_select_db("Datenbank") or die ("Die Datenbank existiert nicht");


//Einträge pro Seite: Hier 15 pro Seite
$eintraege_pro_seite = 15;

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle hei&szlig;t hier einfach: Tabelle
$abfrage = "SELECT * FROM Tabelle LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    {
   echo $row->id."<br>"; // Hier die Ausgabe der Einträge
   }


//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5


//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

$result = mysql_query("SELECT id FROM Tabelle");
$menge = mysql_num_rows($result);

//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";


//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   if($seite == $b)
      {
      echo "  <b>$b</b> ";
      }

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
   else
      {
      echo "  <a href=\"?seite=$b\">$b</a> ";
      }


   }
echo "</div>";
?>

MFG Jooohny
 
HI dir is schon Klar das die Bläterfunktion nur dafür da is um jetzt zb.nur15 einträge auf einer Page darzustellen ansonsten must du eine normale apfrage wie immer machen!

PHP:
<?php
$abfrage = "SELECT Spaltenname FROM Tabellenname";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "$row->Spaltenname";
   }
?>

Und benutze das SCript von http://php-einfach.de/tuts_mysql_blaetterfunktion.php

Siht so aus :

PHP:
<?php
$seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
   {
   $seite = 1;
   }

//Verbindung zu Datenbank aufbauen

$link = mysql_connect("localhost","Username","Passwort") or die ("Keine Verbindung moeglich");
mysql_select_db("Datenbank") or die ("Die Datenbank existiert nicht");


//Einträge pro Seite: Hier 15 pro Seite
$eintraege_pro_seite = 15;

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle hei&szlig;t hier einfach: Tabelle
$abfrage = "SELECT * FROM Tabelle LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    {
   echo $row->id."<br>"; // Hier die Ausgabe der Einträge
   }


//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5


//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

$result = mysql_query("SELECT id FROM Tabelle");
$menge = mysql_num_rows($result);

//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";


//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   if($seite == $b)
      {
      echo "  <b>$b</b> ";
      }

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
   else
      {
      echo "  <a href=\"?seite=$b\">$b</a> ";
      }


   }
echo "</div>";
?>

MFG Jooohny

Mir schon klar. Die $maxEinträge = 1 war nur zum Testen.
Das hilft mir jetzt aber noch nicht bei meinen Kategorie Problem.

mfg
 
Zurück