1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. PHP Forum - Apache - CGI - Perl - JavaScript und Co.

Gästebuch

  • Mastershit
  • 9. Juni 2005 um 10:05
  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 9. Juni 2005 um 10:05
    • #1

    moinsn xD

    ich hab mir gestern ma auf die schnelle nen gb geschrieben, nen einfaches.

    jetz habbich folgendes problem.. an jedem beitrag soll dran stehn der wievielte es is
    z.b.:
    #1 Hallo.. schöne seite
    #2 Juhu tol.....
    ...

    ich hab versucht das mit mysql_num_rows zu lösen... aber da zählt er ja nur die datensätze und schriebt überall die gleiche zahl rein..

    ich brauchn tipp :P

    link zum gb:
    http://www.andy-rosslau.info/v1/gbook.php
    wenn ihr testposts macht, dann bitte vernünftige... denn das gb steht schon online..

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

  • baloo
    Großmeister(in)
    Beiträge
    514
    • 9. Juni 2005 um 10:18
    • #2

    wie hast du dann das ganze aufgebaut?

    immer eine einfache lösung ist eine zählvariable.

    [php:1:0ca70a3931]<?php
    $count=1;
    $result = mysql_query("blabla");
    while ($row = mysql_fetch_array($result))
    {
    echo "gb eintrag nr. " . $count . " blablabla";
    $count++;
    }
    ?>[/php:1:0ca70a3931]

    wenn du jetzt rückwärts zählen willst, einfach anpassen...

    [php:1:0ca70a3931]<?php
    $result = mysql_query("blabla");
    $count = mysql_num_rows($result);
    while ($row = mysql_fetch_array($result))
    {
    echo "gb eintrag nr. " . $count . " blablabla";
    $count--;
    }
    ?>[/php:1:0ca70a3931]

    etc. etc... musst du halt ausprobieren :roll:

    thats-me.ch Communtiy

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 9. Juni 2005 um 11:09
    • #3

    würde ich indem Fall schon fast zu ner FOR schleife greifen

  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 9. Juni 2005 um 13:01
    • #4

    hatte ich versucht, aber da hatte er in die falsche richtung gezählt (mit for)

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 9. Juni 2005 um 13:55
    • #5

    du kannst ja auch runter zählen


    hoch

    Code
    for( $i=0 ; $i<=mysql_num_rows($result) ; $i++ )

    oder

    runter

    Code
    for( $i=mysql_num_rows($result ; $i>=0 ; $i-- )
  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 9. Juni 2005 um 14:08
    • #6

    [php:1:952c3ae269]<?php
    for($k=mysql_num_rows($get_posts);$k>0;$k--) {
    $gp = mysql_fetch_array($get_posts);
    $mass = nl2br($gp[e_nachricht]);
    $mail = '';
    $icq = '';
    $msn = '';
    if($gp[e_email] != '') {
    $mail = $gp[e_email]. ' (E-Mail)
    ';
    }
    if($gp[e_icq] != '') {
    $icq = $gp[e_icq]. ' (ICQ)
    ';
    }
    if($gp[e_msn] != '') {
    $msn = $gp[e_msn]. ' (MSN)';
    }
    $zeit = date('d.m.y H:i', $gp[e_time]);
    $kontakt = $mail.$icq.$msn;
    if ($gp[e_email] == '' & $gp[e_icq] == '' & $gp[e_msn] == '') {
    $kontakt = 'keine angabe';
    }
    $l = $k;
    eval("dooutput(\"".gettemplate("templates/posts")."\");");
    }
    ?>[/php:1:952c3ae269]

    so sieht meine schleife ersma aus.. wenn ich das umkehre, kehrt sich ja auch di abfrage um? oO

    *edit*
    so wie oben jetz steht funzts... thx ;)

    ps: arbeiten immer mit for (die erste variante von dir aber immer, von der zweiten wusste ich noch nix xD)

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

  • coda
    Gast
    • 9. Juni 2005 um 15:52
    • #7

    Ich bin nicht gut in PHP aber meine Lösung wäre eigentlich ganz einfach, wenn sie stimmt.

    Du kannst doch in deiner MySQL(wenn du damit arbeitest) eine zusätziche Spalte anlegen, die du z.B. id nennst. Die bekommt noch auto_increment zugewsiesen.
    Dadurch zählt sie bei jedem weiterem eintrag um einen weiter nach oben. Die spalte kannst ja normal auslesen.

    Und dann kannst ja noch, um die gesamteinträge zu ermitteln kannst ja mit: mysql_num_rows
    arbeiten.............

    das wäre es von meiner seite.

    MFG NP66

  • Rocco
    Kaiser(in)
    Beiträge
    2.557
    • 9. Juni 2005 um 15:56
    • #8

    ihr denkt euch noch einen knoten in euer hirn.... schon mal an eine spalte auto_increment gedacht?

    [Blockierte Grafik: http://rocco.forum-hilfe.de/image/userbar.png]

  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 9. Juni 2005 um 18:42
    • #9

    jaja
    aber wenn ich einen datensatz dann lösche und einer neuer dazukommt wird die id, die dem gelöschten datensatz gehört hat, übersprungen

    -> d.h. es wird dann eine zahl über sprungen


    klar benutze ich eine id spalte, mit auto_increment.. is aber eher für die verwaltung der einträge da...

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 9. Juni 2005 um 20:00
    • #10

    nein der zähelr geht nur danach wie viele einträge er von der DB erhält und nicht nach der ID spalte in der SQL DB

  • gelöschter User
    Gast
    • 9. Juni 2005 um 21:12
    • #11

    verplappert.. :lol:

    Hab nicht alles gelesen

  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 9. Juni 2005 um 21:59
    • #12

    GreenRover
    ich mein den klugen mod der sich gemeldet hat xD
    es funzt ja jetz mit dem code den ich oben gepostet hab

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 9. Juni 2005 um 22:07
    • #13

    ASO

  • coda
    Gast
    • 9. Juni 2005 um 22:48
    • #14
    Zitat von Rocco

    ihr denkt euch noch einen knoten in euer hirn.... schon mal an eine spalte auto_increment gedacht?

    hab ich nicht zufällig geschrieben?

    Zitat von NP66


    Ich bin nicht gut in PHP aber meine Lösung wäre eigentlich ganz einfach, wenn sie stimmt.

    Du kannst doch in deiner MySQL(wenn du damit arbeitest) eine zusätziche Spalte anlegen, die du z.B. id nennst. Die bekommt noch auto_increment zugewsiesen.
    Dadurch zählt sie bei jedem weiterem eintrag um einen weiter nach oben. Die spalte kannst ja normal auslesen.

    obwohl ich´s ein bisschen umständlcih gemacht habe

  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 10. Juni 2005 um 09:21
    • #15
    Zitat von NP66

    hab ich nicht zufällig geschrieben?


    obwohl ich´s ein bisschen umständlcih gemacht habe


    trotzdem isses falsch oO

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

  • baloo
    Großmeister(in)
    Beiträge
    514
    • 10. Juni 2005 um 10:18
    • #16

    übrigens, sorry wegen dem doppelten eintrag :oops: das war nur ein test :lol:

    thats-me.ch Communtiy

  • Mastershit
    Fortgeschrittener
    Beiträge
    170
    • 10. Juni 2005 um 13:58
    • #17

    xD np, hab einen rausgenommen

    [Blockierte Grafik: http://www.andy-rosslau.info/v1/images/banner/blume.gif]

Tags

  • www
  • email
  • online
  • problem
  • code
  • php
  • gästebuch
  • zahl
  • auto
  • array
  • lösen
  • msn
  • schleife
  • lösung
  • mysql
  • info
  • spalte
  • icq
  • sql
  • query
  • count
  • rückwärts
  • fetch

Benutzer online in diesem Thema

  • 1 Besucher
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™