MySQL Daten auflisten

LuckySt

Mitglied
Hallo,

mal wieder ich.

Ich stehe mal wieder voll auf dem Schlauch.

Und zwar möchte ich gerne eine Seite haben auf der mir alle Bilder die in der Datenbank gespeichert sind, angezeigt werden.

Pro Zeile in der Datenbank habe ich 10 Spalten in denen jeweils Links zu Bildern gespeichert sind.
Kann mir vielleicht jemand helfen wie ich jetzt diese ganzen Links auf die Seite bekomme und diese mir dort dann angezeigt werden. Am besten noch mit einer Seitenfunktion. Also so das pro Seite vielleicht nur 10 Bilder geladen werden.
 
Hallo,

wo ist genau dein Problem? Möchtest du, dass dir jemand ein Skript dafür schreibt, hast du vielleicht in der Jobbörse mehr Glück. Falls ja, kann ich (oder ein anderer Mod) dein Thema gerne verschieben.
 
Sorry, war unterwegs und musste mich beeilen.
Nein, ich habe schon was geschrieben nur komme nicht weiter.
Suche jemanden der sich das mal ansehen kann und mir vielleicht mal einen Tipp geben kann woran es liegt.
 
Danke

also folgendes habe ich:

PHP:
$connection=mysql_connect ($localhost, $username, $password);
if (!$connection)
{
    die('Not connected : ' . mysql_error());
}

$db_selected = mysql_select_db($database, $connection);
if (!$db_selected)
{
    die ('Can\'t use db : ' . mysql_error());
}

function blaetterfunktion($seite,$maxseite,$url="",$anzahl=4,$get_name="seite")
{
    $anhang = preg_match('/\?/', $url) ? '&' : '?';

    if(substr($url,-1,1) == "&")
    {
        $url = substr_replace($url,"",-1,1);
    }
    else if(substr($url,-1,1) == "?")
    {
        $anhang = "?";
        $url = substr_replace($url,"",-1,1);
    }

    if($anzahl%2 != 0) $anzahl++;

    $a = $seite-($anzahl/2);
    $b = 0;
    $blaetter = array();
    while($b <= $anzahl)
    {
        if($a > 0 AND $a <= $maxseite)
        {
            $blaetter[] = $a;
            $b++;
        }
        else if($a > $maxseite AND ($a-$anzahl-2)>=0)
        {
            $blaetter = array();
            $a -= ($anzahl+2);
            $b = 0;
        }
        else if($a > $maxseite AND ($a-$anzahl-2)<0)
        {
            break;
        }

        $a++;
    }
    $return = "";
    if(!in_array(1,$blaetter) AND count($blaetter) > 1)
    {
        if(!in_array(2,$blaetter)) $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=1\" title=\"1\">1</a>&nbsp;...";
        else $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=1\" title=\"1\">1</a>&nbsp;";
    }

    foreach($blaetter AS $blatt)
    {
        if($blatt == $seite) $return .= "&nbsp;<b>$blatt</b>&nbsp;";
        else $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=$blatt\" title=\"$blatt\">$blatt</a>&nbsp;";
    }

    if(!in_array($maxseite,$blaetter) AND count($blaetter) > 1)
    {
        if(!in_array(($maxseite-1),$blaetter)) $return .= "...&nbsp;<a href=\"{$url}{$anhang}{$get_name}=$maxseite\">>></a>&nbsp;";
        else $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=$maxseite\" title=\"$maxseite\">$maxseite</a>&nbsp;";
    }

    if(empty($return))
        return  "&nbsp;<b>1</b>&nbsp;";
    else
        return $return;
}  

$seite = $_REQUEST["seite"];

if(!isset($seite))
    $seite = 1;

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

$result = mysql_query("SELECT COUNT(*) FROM user Where picture1 !='' and picture2 !='' and picture3 !='' and picture4 !='' and picture5 !='' and picture6 !='' and picture7 !='' and picture8 !='' and picture9 !='' and picture10 !=''");
$menge = mysql_fetch_row($result);
$menge = $menge[0];
$wieviele_seiten = ceil($menge / $eintraege_pro_seite);

if ($seite!=1)
{
    echo '<a href="?seite='.($seite-1).'" title="', $txt['txt_seite_navi_zuruck'], '">', $txt['txt_seite_navi_zuruck'], '</a>&nbsp;&nbsp;-&nbsp;&nbsp;';
}

echo blaetterfunktion($seite, $wieviele_seiten);

if ($seite != $wieviele_seiten)
{
    echo '&nbsp;&nbsp;-&nbsp;&nbsp;<a href="?seite='.($seite+1).'" title="', $txt['txt_seite_navi_vor'], '">', $txt['txt_seite_navi_vor'], '</a>';
}

$i = 0;
$abfrage = "SELECT * FROM user Where picture1 !='' and picture2 !='' and picture3 !='' and picture4 !='' and picture5 !='' and picture6 !='' and picture7 !='' and picture8 !='' and picture9 !='' and picture10 !='' ORDER BY year DESC, month DESC, day DESC, hour DESC, minute DESC LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
    if($row->picture1!='')
    {
        $picture_1_db = '<img src="'. $row->picture1 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture2!='')
    {
        $picture_2_db = '<img src="'. $row->picture2 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture3!='')
    {
        $picture_3_db = '<img src="'. $row->picture3 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture4!='')
    {
        $picture_4_db = '<img src="'. $row->picture4 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture5!='')
    {
        $picture_5_db = '<img src="'. $row->picture5 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture6!='')
    {
        $picture_6_db = '<img src="'. $row->picture6 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture7!='')
    {
        $picture_7_db = '<img src="'. $row->picture7 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture8!='')
    {
        $picture_8_db = '<img src="'. $row->picture8 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture9!='')
    {
        $picture_9_db = '<img src="'. $row->picture9 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    if($row->picture10!='')
    {
        $picture_10_db = '<img src="'. $row->picture10 . '" border="0" width="200" alt="Bild" title="Bild" />&nbsp;&nbsp;&nbsp;';
    }
    echo '' . $picture_1_db . '' . $picture_2_db . '' . $picture_3_db . '' . $picture_4_db . '' . $picture_5_db . '' . $picture_6_db . '' . $picture_7_db . '' . $picture_8_db . '' . $picture_9_db . '' . $picture_10_db;

    $i++;
}

if ($seite!=1)
{
    echo '<a href="?seite='.($seite-1).'" title="', $txt['txt_seite_navi_zuruck'], '">', $txt['txt_seite_navi_zuruck'], '</a>&nbsp;&nbsp;-&nbsp;&nbsp;';
}

echo blaetterfunktion($seite, $wieviele_seiten);

if ($seite != $wieviele_seiten)
{
    echo '&nbsp;&nbsp;-&nbsp;&nbsp;<a href="?seite='.($seite+1).'" title="', $txt['txt_seite_navi_vor'], '">', $txt['txt_seite_navi_vor'], '</a>';
}

Jetzt habe ich das Problem das irgendwie nicht alle Daten gelesen werden.
Bekomme nur 20 Bilder angezeigt obwohl es über 300 sind.
Auch die Seitenblätterfunktion zeigt mir nur eine Seite an.

Als Fehler bekomme ich folgendes angezeigt:
Notice: Undefined index: seite in /.../media.php on line 79
 
Die Fehlermeldung ist eigentlich ziemlich selbsterklärend: Es wurde keine entsprechende GET, POST oder COOKIE-Variable übergeben und somit kannst du darauf auch nicht zugreifen.

Probiere es mal so:
Code:
if (!isset($_REQUEST['seite'])) {
  $seite = 1;
}
else {
  $seite = intval($_REQUEST['seite']);
  if ($seite <= 0) {
    $seite = 1;
  }
}

(Übrigens ist dein Code ziemlich redundant und benutzt noch die alte MySQL-Erweiterung. Vor allem Letzteres solltest du beheben, da diese bald aus PHP entfernt wird.)
 
Hi,

danke.
Die Fehlermeldung ist nun weg.
Aber irgendwie bekomme ich immer noch nur 20 Bilder angezeigt.
Kann es sein das was mit der DB Abfrage nicht stimmt?
 
Schaut i. O. für mich aus. Lass dir mal das SQL-Query ausgeben (mit den interpolierten Variablen) und teste es in einem MySQL-Client (z. B. die MySQL-Konsole selbst, Workbench, PHPMyAdmin).
 
Hmmm

also bei der Seitennavi Abfrage bekomme ich "2" raus.
Bei der anderen "Resource id #29".

Glaube ich habe da was falsch gemacht.

Möchte ja einfach nur in meiner DB die eine Tabelle mit ca. 3000 Zeilen und 25 Spalten hat, alle Bilder URLs auslesen und anzeigen. Die URLs sind in den Spalten "picture1", "picture2'' ... "picture10". Es gibt aber auch Zeilen wo nur eine Spalte "picture1" ausgefüllt ist.
 
Zurück