Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: mysql 2 array class

  1. #1
    König(in) Avatar von sudeki05
    Registriert seit
    04.05.2006
    Ort
    Hamburg
    Alter
    28
    Beiträge
    1.435
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard mysql 2 array class

    Hallo
    vielleicht weiß ja jemand von euch wo ich so eine 'Klasse' finde:
    Ich suche eine 'Klasse' die mir die Daten in ein Array zurückgibt
    und möglichst assosiativ

    sudeki

    ps.: ja, klar hab ich schon gesucht
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von sudeki05 (16.10.2008 um 14:27 Uhr)

    Problems with Windows? - Reboot
    Problems with UNIX? - Be Root

  2. #2
    Prinz(essin) Avatar von Greg10
    Registriert seit
    12.05.2007
    Beiträge
    825
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    am besten du schreibst dir selbst eine oder vielleicht schreibt dir wer eine, warte noch ein bisschen und wenn du dann keine hast schick mir ne pn ich schreib dir dann eine...
    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC

  3. #3
    König(in)
    Themenstarter
    Avatar von sudeki05
    Registriert seit
    04.05.2006
    Ort
    Hamburg
    Alter
    28
    Beiträge
    1.435
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke Greg, dann wart ich mal noch ein wenig und dann schaue ich mal ob ich mich da mal reinfinde in Klassen, sprich: mal sehen was ich hinbekomm oder ich schreib dir eine pn. Danke schon mal

    Problems with Windows? - Reboot
    Problems with UNIX? - Be Root

  4. #4
    Bandit
    Gast

    Standard

    Aus meiner Wühlkiste:
    PHP-Code:
    <?php
      
    include("./inc/class.mysql.php");
     
      
    $db = new CDb;
     
      
    $db->connect("localhost""root""");
     
      
    $db->check_error();
     
      
    $db->select_db("test");
      
    $db->check_error();
     
      
    $query "Select name, plz from daten";
     
      
    $result $db->query($query);
     
      
    $db->check_error();
     
      
    $data $db->to_array($result);
     
      if (
    $data !== false)
         
    print_r($data);
    ?>
    PHP-Code:
    <?
      
    /********************************************************************
       *
       * File:              class.mysql.php
       *
       * Kurzbeschreibung:  Eine Klasse zum MySQL-Handling
       *
       * Erstellungsdatum:  17.01.2004
       *
       * Letzte Änderung:
       *
       * Autor:             bandit
       *
       * Copyright 2004 by bandit
       *
       ********************************************************************/
     
       
    class CDb
       
    {
         var 
    $connection;
         
    //---------------------------------------------------------------
         
    function Db()
         {
            
    $this->connection 0;
         }
         
    //---------------------------------------------------------------
         
    function connect($hostName$userName$pw)
         {
           
    $this->connection = @mysql_connect($hostName$userName$pw);
           return 
    $this->connection;
         }
         
    //---------------------------------------------------------------
         
    function connect_db($hostName$userName$pw$db_name)
         {
           
    $this->connection = @mysql_connect($hostName$userName$pw);
           if (
    $this->connection)
           {
              
    $value mysql_select_db($db_name$this->connection);
              if (
    $value == false)
              {
                 
    $this->db_close($this->connection);
                 
    $this->connection 0;
              }
           }
           return 
    $this->connection;
         }
         
    //---------------------------------------------------------------
         
    function db_close()
         {
            if (
    $this->connection)
            {
               
    mysql_close($this->connection);
               
    $this->connection 0;
            }
         }
         
    //---------------------------------------------------------------
         
    function select_db($dbName)
         {
            
    $result false;
            if (
    $this->connection)
               
    $result mysql_select_db($dbName$this->connection);
            return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function query($query="")
         {
            
    $result false;
            if (
    strlen ($query) && $this->connection)
                 
    $result = @mysql_query ($query);
            return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function num_fields($value=0)
         {
            
    $result 0;
            if (
    $this->connection && $value)
               
    $result = @mysql_num_fields ($value);
             return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function num_rows($value)
         {
            
    $result 0;
            if (
    $this->connection && $value)
               
    $result = @mysql_num_rows ($value);
             return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function has_error()
         {
           
    $result true;
           if (
    $this->connection)
             
    $result = @mysql_errno();
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function error_text()
         {
           
    $result false;
           if (
    $this->connection)
             
    $result = @mysql_error();
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function data_seek($value=0$position=-1)
         {
           
    $result false;
     
           if (
    $value && $position >= && $this->connection)
             
    $result mysql_data_seek($value$position);
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function fetch_array($value=0)
         {
           
    $result false;
           if (
    $value && $this->connection)
             
    $result =  @mysql_fetch_array($value);
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function to_array($value=0)
         {
           
    $result false;
           if (
    $value && mysql_num_rows($value))
           {
              
    $result = array();
     
              
    $key 0;
              while (
    $row mysql_fetch_assoc($value))
              {
                  
    $keys   array_keys($row);
                  
    $values array_values($row);
     
                  for (
    $i 0$i count($keys); $i++)
                  {
                     
    $result[$key][$keys[$i]] = $values[$i];
                  }
                  
    $key++;
              }
           }
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function fetch_object($value=0)
         {
           
    $result false;
           if (
    $value && $this->connection)
             
    $result =  @mysql_fetch_object($value);
           return 
    $result;
         }
     
         
    //---------------------------------------------------------------
         
    function result($value=0$num=-1)
         {
           
    $result false;
           if (
    $value && $num >= && $this->connection)
              
    $result =  @mysql_result($value$num);
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function inserted_id()
         {
           
    $result false;
           if (
    $this->connection)
             
    $result mysql_insert_id();
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function free_query($query)
         {
           
    $result false;
           if (
    $this->connection)
             
    $result mysql_free_query ($query);
           return 
    $result;
         }
         
    //---------------------------------------------------------------
         
    function check_error()
         {
           if (
    $this->connection)
           {
             if (
    mysql_errno ())
               die (
    "Datenbankfehler: " mysql_error());
           }
         }
     }
    ?>
    Die Klasse ist noch aus meinen PHP-Anfängen und noch nicht auf PHP5 umgestellt, funktioniert aber trotzdem.
    Geändert von bandit600 (20.08.2008 um 22:28 Uhr)

  5. #5
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    also ich hab mir auch mal eine geschrieben
    Code:
    <?php
             class mysql
             {       var     $sql    = '',
                             $daten  = 0,
                             $error  = '',
                             $errno  = 0;
    
                     function mysql($mysql)
                     {       $this->sql = $mysql;
                             if(!($this->daten = @mysql_query($mysql)))
                             {       $this->error = mysql_error();
                                     $this->errno = mysql_errno();
                                     echo "<h1>Mysql-Fehler</h1>\n";
                                     echo "<p>\n";
                                     echo "SQL: ".$this->sql."<br>\n";
                                     echo "Fehlermeldung: ".$this->error."<br>\n";
                                     echo "Fehlercode: ".$this->errno."<br>\n";
                                     echo "</p>";
                                     die();
                             }
                     }
    
                     function num()
                     {       return mysql_num_rows($this->daten);
                     }
    
                     function fetch_assoc()
                     {       return mysql_fetch_assoc($this->daten);
                     }
    
                     function fetch_object()
                     {       return mysql_fetch_object($this->daten);
                     }
    
                     function fetch_array()
                     {       return mysql_fetch_array($this->daten);
                     }
    
                     function free()
                     {       mysql_free_result($this->daten);
                     }
                     }
    ?>
    verwendung:
    Code:
    $eintraege = new mysql('SELECT * FROM gaestebuch');
    echo $eintraege->num().' Eintr&auml; vorhanden!';
    while($eintrag = $eintraege->fetch_assoc())
    { //zB $eintrag['Name'], $eintrag['Time'], etc...
    }
    Something big is coming. And there will be pirates and ninjas and unicorns...

  6. #6
    Bandit
    Gast

    Standard

    Eine Sache gefällt mir nicht. Für jede Abfrage musst du ein new mysql ausführen. Und die Fehlerprüfung ist auch nicht flexibel

  7. #7
    König(in)
    Themenstarter
    Avatar von sudeki05
    Registriert seit
    04.05.2006
    Ort
    Hamburg
    Alter
    28
    Beiträge
    1.435
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von Dodo Beitrag anzeigen
    also ich hab mir auch mal eine geschrieben
    Ähm, danke, aber sehe ich richtig dass ich dann per:
    $eintrag['Time'] zugreife? Das ist ja nicht Sinn und zweck der Sache, dann könnte ich auch mysql_fetch_assoc nutzen. Es geht ja grade darum ein assosiatives array zu erstellen

    Trotzdem dankeschön DoDo!
    zu bauen
    Geändert von sudeki05 (16.10.2008 um 14:28 Uhr)

    Problems with Windows? - Reboot
    Problems with UNIX? - Be Root

  8. #8
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    //edit:
    Is das hier besser?

    Ganz am Ende sind 3 neue Funktionen, die dir das gewünschte zurückgeben sollten, egal ob assoc(), object() oder array()

    PHP-Code:
    <?php
             
    class mysql
             
    {       var     $sql    '',
                             
    $daten  0,
                             
    $error  '',
                             
    $errno  0;

                     function 
    mysql($mysql)
                     {       
    $this->sql $mysql;
                             if(!(
    $this->daten = @mysql_query($mysql)))
                             {       
    $this->error mysql_error();
                                     
    $this->errno mysql_errno();
                                     echo 
    "<h1>Mysql-Fehler</h1>\n";
                                     echo 
    "<p>\n";
                                     echo 
    "SQL: ".$this->sql."<br>\n";
                                     echo 
    "Fehlermeldung: ".$this->error."<br>\n";
                                     echo 
    "Fehlercode: ".$this->errno."<br>\n";
                                     echo 
    "</p>";
                                     die();
                             }
                     }

                     public function 
    num()
                     {       return 
    mysql_num_rows($this->daten);
                     }

                     public function 
    fetch_assoc()
                     {       return 
    mysql_fetch_assoc($this->daten);
                     }

                     public function 
    fetch_object()
                     {       return 
    mysql_fetch_object($this->daten);
                     }

                     public function 
    fetch_array()
                     {       return 
    mysql_fetch_array($this->daten);
                     }

                     public function 
    free()
                     {       
    mysql_free_result($this->daten);
                     }

                     public function 
    fetch_full_assoc()
                     {       while(
    $back[] = $this->fetch_assoc());
                             return 
    $back;
                     }

                     public function 
    fetch_full_array()
                     {       while(
    $back[] = $this->fetch_array());
                             return 
    $back;
                     }

                     public function 
    fetch_full_object()
                     {       while(
    $back[] = $this->fetch_object());
                             return 
    $back;
                     }
             }
    ?>
    Geändert von Dodo (20.08.2008 um 23:18 Uhr) Grund: Vervollständigung
    Something big is coming. And there will be pirates and ninjas and unicorns...

  9. #9
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    @bandit:
    Sorry hab deinen post jetzt erste gesehen. Jop die Klasse hab ich auch extra für SQLs gemacht und nicht für volle Datenbankverwaltung.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  10. #10
    Bandit
    Gast

    Standard

    Ist ja nicht böse gemeint, aber du solltest die Fehlerprüfung in eine Funktion auslagern. Es kann ja vorkommen, dass man bei einem Fehler nicht gleich das Script sterben lassen will. Ich habe bei mir die Klasse mit Absicht ohne einen Hinweis auf MySQL benannt. Wenn man es mal mit einer anderen DB zu tun hat, tausche ich an einer Stelle den Include aus und bin fertig. Du müsstest dein Script anpassen, denn wenn man einen anderen DB-Server als MySQL hat, sieht es doof aus, wenn man da MySQL im Script stehen hat. Und dann hat deine Klasse den gleichen Schwachpunkt wie meine, ein Möglichkeit, String zu escapen fehlt.

Ähnliche Themen

  1. Class zuweisen
    Von Webdesignerin im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 13.10.2007, 17:55
  2. [PHP / OOP] - Class & MySQl-Connection
    Von BendOr im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 10.04.2007, 17:07
  3. MySQL Abfrage um ein bestimmtes Array anzulegen
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 10.11.2006, 08:32
  4. Unterscheidung id und class
    Von im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 13.09.2006, 12:46
  5. css - id und class
    Von mabuhay im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 05.09.2005, 21:37

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •