phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Anf=E4ngerfehler=3F?= Ausgabeliste in x Schritten (mysql+php3)+php3)

[php] =?iso-8859-1?Q?Anf=E4ngerfehler=3F?= Ausgabeliste in x Schritten (mysql+php3)+php3)

Oliver Fink OF_(at)_netuse.de
Tue, 29 Aug 2000 18:28:40 +0200


DAS AACHEN-FORUM schrieb:

Du hast aber einen merkwürdigen Namen. Also, lieber DAS AACHEN-FORUM:

> Mein Problem ist es, eine Liste, die ich aus einer MySQL Datenbank bekomme
> in x Schritten zu generieren.
>
> Ich gehe dabei so vor:
>
> Ich definiere die Variabeln...
>
> if(isset($pos)==0)

Du willst sagen:

     if(!isset($pos))

oder?

>          $pos=0;

[...]

>          $count=2;

Nach der Einrückung schließe ich, daß Du auch dieses nur dann machen möchtest,
wenn $pos ungesetzt ist. Dann mußt Du { und } benutzen. Oder Du rückst falsch
ein.

> und gebe das Ergebnis aus:
>
> mysql_query("SELECT soso,blabla FROM datenbank ORDER BY xyid LIMIT
> $pos,$count");
>
> Ich vermute aber den Fehler hier:
>
> <?php
>         if ($pos>0):
> ?>
> <A HREF="show.php3?pos=<?php echo $pos-$count;?>">zurück</A>
> <?php
>         endif;

Das verstehe ich. Wenn davor noch Werte sind, soll man die sehen können.

>         if(mysql_num_rows($an_id)>=$pos):

Was ist $an_id? Naja, wird wohl ein Handle sein...    ;-)

Aber die if-Abfrage verstehe ich nicht: mysql_num_rows() liefert nach meinem
Dafürhalten maximal $count, nämlich die Anzahl der Ergebnisse. Was hat das mit
der Startposition zu tun?

> ?>
> <A HREF="show.php3?pos=<?php echo $pos+$count;?>">vor</A>
> <?php
>          endif;
> ?>
>
> Problem:
> Wenn ich zweier Schritte einsetze, bekomme ich in der Liste nur bis zu 6
> Einträgen angezeigt;

Naja:

    2 >= 0: wahr
    2 >= 2: wahr
    2 >= 4: falsch

> setze ich $count= auf 3, bekomme ich nur bis zu 9 Einträgen angezeigt;

Und:

    3 >= 0: wahr
    3 >= 3: wahr
    3 >= 6: unwahr

> danach fehlt der Link "vor".

Korrekt. Einmal 2+2+2 = 6 Ergebnisse, einmal 3+3+3 = 9 Ergebnisse.

> Die Vorlage für das Script ist aus dem Buch PHP vom Markt und Technik
> Verlag. Bei beiliegender CD-ROM funktioniert das Beispiel auch nicht.

Kann IMHO auch nicht.

> Peinlich oder?

Ja?    ;-)

    Oliver
--
Oliver Fink
NetUSE AG, Siemenswall, D-24107 Kiel, Germany
Fon: +49 431 386435 00   --   Fax: +49 431 386435 99




php::bar PHP Wiki   -   Listenarchive