Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql_fetch + klasse = prob

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • N!cKY
    hat ein Thema erstellt mysql_fetch + klasse = prob.

    mysql_fetch + klasse = prob

    also ich hab her jetzt mal ne vereinfachte darstellung von meinem problem:
    PHP-Code:
    <?php
    mysql_connect
    ("localhost""root""");
    mysql_select_db("cms");
    class 
    test {
          public static function 
    tester() {
              
    $res mysql_query("SELECT * FROM test");
              return 
    mysql_fetch_assoc($res);
          }
    }
    while(
    $row test::tester()) {
        echo 
    $row['id'];
    }
    ?>
    das gibt immer nur die erste id aus, und das gaaaaaaaaanz oft (11111111111111111111111111111111111...)!
    warum ist das so?

  • nsane
    antwortet
    eigentlich ist es nie sinnvoll, ne methode stratisch zu machen ...
    ich würd einfach noch ne methode machn, die nen bestimmten query an deine methode übergibt, welche den query verarbeitet!

    Einen Kommentar schreiben:


  • N!cKY
    antwortet
    k danke!
    habs jetzt so:
    PHP-Code:
    <?php
    mysql_connect
    ("localhost""root""");
    mysql_select_db("cms");
    class 
    test {
          public static 
    $res;
          public static function 
    tester() {
              if(!
    self::$res)
                  
    self::$res mysql_query("SELECT * FROM clanwars");
              return 
    mysql_fetch_assoc(self::$res);
          }
    }
    while(
    $row test::tester()) {
        
    print_r($row);
    }
    ?>
    ok so?
    noch ne frage:
    ist es sinnvoll die methode statisch zu machen?

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Die Klasse muss sich den Query einfach nur merken.

    Einen Kommentar schreiben:


  • N!cKY
    antwortet
    naja schwer zu sagen, ich will einklich das mir die methode tester alle datansätze zurückgibt, bin jetzt da drauf gekommen:
    PHP-Code:
    <?php
    mysql_connect
    ("localhost""root""");
    mysql_select_db("cms");
    class 
    test {
          public static function 
    tester() {
              
    $res mysql_query("SELECT * FROM clanwars");
              
    $rows = array();
              while(
    $row mysql_fetch_assoc($res))
                  
    $rows[] = $row;
              return 
    $rows;
          }
    }
    foreach(
    test::tester() as $row) {
        echo 
    $row['id'];
    }
    ?>
    geht zwar aber ich find blöd das ich 2 schleifen benötige!
    gibts da echt nix bessres?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ohne das ganze prozentual zu machen
    prozentual? Wie meinen? Gewürzgurke gefällig?

    Was wilslt Du denn erreichen? Es gibt doch schon so viele Datenbankabstraktionen.

    Einen Kommentar schreiben:


  • N!cKY
    antwortet
    danke!
    so wär ne möglichkeit:
    PHP-Code:
    <?php
    mysql_connect
    ("localhost""root""");
    mysql_select_db("cms");
    class 
    test {
          public static function 
    tester() {
              
    $res mysql_query("SELECT * FROM clanwars");
              return 
    $res;
          }
    }
    $res test::tester();
    while(
    $row mysql_fetch_assoc($res)) {
        echo 
    $row['id'];
    }
    aber ich hät den fetch noch gern in der klasse, habt ihr ne idee??

    Einen Kommentar schreiben:


  • N!cKY
    antwortet
    Zitat von karl-150
    Mit jedem
    PHP-Code:
    <? $res = mysql_query("SELECT * FROM test"); ?>
    startest Du eine neue Abfrage. Folglich zeigt $res danach wieder auf den ersten Datensatz.
    un wie beheb ich des?

    Einen Kommentar schreiben:


  • Waq
    antwortet
    Der Beitrag wurde verschoben, wegen...
    ... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten..

    Bemerkung:
    Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen. Dazu: http://www.phpfriend.de/forum/viewtopic.php?t=21515

    moved to PHP - Anfänger

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Mit jedem
    PHP-Code:
    <? $res = mysql_query("SELECT * FROM test"); ?>
    startest Du eine neue Abfrage. Folglich zeigt $res danach wieder auf den ersten Datensatz.

    Einen Kommentar schreiben:

Lädt...
X