PB gestion de classe alimentation liste deroulante par requette sql

PB gestion de classe alimentation liste deroulante par requette sql - PHP - Programmation

Marsh Posté le 21-11-2005 à 13:29:53    

Bonjour, je me lance dans la programmation objet en php mais je suis pas encore tout a fais au point c pour cela je vous poste ce message.
 
(j'utilse php 4)
 
Voila mon pb j'ai une 2 classe et un formulaire
 
la première classe es mysql :
 
<?php  
 
class mysql  
    {  
        var $sql_serveur;  
        var $sql_utlisateur;  
        var $sql_password;  
        var $sql_bd;  
        var $connection_sql;  
        var $select_bd;  
        var $resultat;  
        var $sql_debug;  
        var $connection_verif;  
        var $nb_requete;  
        var $erreur;  
        var $message_erreur;  
         
        //constructeur  
        function mysql($serveur, $utlisateur, $password, $bd, $debug, $erreur)  
            {  
                $this->sql_serveur = $serveur;  
                $this->sql_utilisateur = $utlisateur;  
                $this->sql_password = $password;  
                $this->sql_bd = $bd;  
                $this->sql_debug = $debug;  
                $this->message_erreur = $erreur;  
                $this->resultat = array();  
                $this->connection_verif = 0;  
                $this->connection();  
            }  
                 
        //fonction de connecti+on a mysql  
        function connection()  
            {  
                if($this->connection_verif == "0" )  
                    {  
                        $this->connection_sql = @mysql_connect($this->sql_serveur, $this->sql_utilisateur, $this->sql_password);  
                        if(!$this->connection_sql)  
                            {  
                                $this->mysql_erreur();  
                            }  
                        else  
                            {  
                                $this->selection_bd();  
                            }  
                    }  
            }  
         
        //fonction de selection de la base de donnée  
        function selection_bd()  
            {  
                $this->select_bd = @mysql_select_db($this->sql_bd, $this->connection_sql);  
                if(!$this->select_bd)  
                    {  
                        $this->mysql_erreur();  
                    }  
                else  
                    {  
                        $this->connection_verif = 1;  
                    }  
            }  
         
        //fonction de déconnexion de la base de donnée  
        function deconnexion()  
            {  
                mysql_close($this->connection_sql);  
            }  
             
        //fonction d'execution de requête  
        function requete($requete, $p)  
            {  
                $this->resultat[$p] = mysql_query($requete);  
                $this->nb_requete++;  
                if(!$this->resultat[$p])  
                    {  
                        $this->mysql_erreur();  
                    }  
            }  
         
        //fontion qui retourne les donnée dans un tableau grace a fetch array  
        function resultat($p)  
            {  
                return @mysql_fetch_array($this->resultat[$p]);  
            }  
   //fontion qui retourne une ligne de résultat MySQL sous la forme d'un objet
        function resultat_object($p)  
            {  
                return @mysql_fetch_object($this->resultat[$p]);  
            }  
           
   //fontion qui retourne une ligne de résultat MySQL sous la forme d'un tableau associatif
        function resultat_assoc($p)  
            {  
                return @mysql_fetch_assoc($this->resultat[$p]);  
            }  
        //fonction permettant de compter le nombre de resultat trouvé  
        function nb_resultat($p)  
            {  
                return @mysql_num_rows($this->resultat[$p]);  
            }  
        //function d'affichage des erreur mysql      
        function mysql_erreur()  
            {  
                if($this->sql_debug == 0)  
                    {  
                        echo $this->message_erreur;  
                    }  
                elseif($this->sql_debug == 1)  
                    {  
                        $this->erreur = @mysql_error($this->connection_sql);  
                        $message = "une erreur mysql est survenue : <br /> <form name='mysql'><textarea rows='15' cols='60'>".$this->erreur."</textarea></form>";  
                        echo $message;  
                    }  
            }  
    }  
 
 
/*  
--__Information sur la classe__--
 
connection : automatique  
 
deconnection : $sql->deconnexion()
 
requete : $sql->requete($requete,$p)
 
fetch_array : $sql->resultat($p)
$p es numero de la requette
 
nb_resultat : sql->nbresultat($p)
 
nb de requete :$sql->nb_requete
*/
 
?>  
 
La seconde es pays :
 
<?php
 
include("../classes/mysql.class.php" );
 
class pays  
{
  //listage de tout les pays present en base
  var $id;
  var $nom_pays  
  function pays($id)
  {
  // recuperation des variables
   
  }  
  function list_all()
  {
  $this->$db = new mysql;
  $this->$result=$db->requete("SELECT nom_pays FROM pays ORDER BY nom_pays ASC",0);
  return $result;
 
  }
}  
?>
 
 
Le code php de la liste déroulante de mon formulaire :
 
 
Et voici le champ de formulaire sur quoi joue ces 2 classes, je veut alimenter grâce a ce script une liste déroulante avec des nom de pays pressent en base de données
 
<tr>
   <td>
   <div class="attributename">Pays</div></td>
   <td class="attributeinput">
 
    <select name="pays">
             <?
     include("../classes/pays.class.php" );    
   $pays= new pays();
   print_r($pays->list_all());  
   
   
    if( $result = result(0) )
   {
    echo "<option>".$val["nom_pays"]."</option>\n";
     }
     
   ?>
            </select>
</tr>
 
Je vois remercie par avance de votre aide !!
 
Frederic
 

Reply

Marsh Posté le 21-11-2005 à 13:29:53   

Reply

Marsh Posté le 21-11-2005 à 13:32:25    

Reply

Marsh Posté le 21-11-2005 à 13:41:46    

j'ai mis toutes les balises !!

Reply

Marsh Posté le 21-11-2005 à 13:53:55    

Bonjour, je me lance dans la programmation objet en php mais je suis pas encore tout a fais au point c pour cela je vous poste ce message.
 
(j'utilse php 4)
 
Voila mon pb j'ai une 2 classe et un formulaire
 
la première classe es mysql :
 

Code :
  1. <?php
  2. class mysql
  3.     {
  4.         var $sql_serveur;
  5.         var $sql_utlisateur;
  6.         var $sql_password;
  7.         var $sql_bd;
  8.         var $connection_sql;
  9.         var $select_bd;
  10.         var $resultat;
  11.         var $sql_debug;
  12.         var $connection_verif;
  13.         var $nb_requete;
  14.         var $erreur;
  15.         var $message_erreur;
  16.        
  17.         //constructeur  
  18.         function mysql($serveur, $utlisateur, $password, $bd, $debug, $erreur)
  19.             {
  20.                 $this->sql_serveur = $serveur;
  21.                 $this->sql_utilisateur = $utlisateur;
  22.                 $this->sql_password = $password;
  23.                 $this->sql_bd = $bd;
  24.                 $this->sql_debug = $debug;
  25.                 $this->message_erreur = $erreur;
  26.                 $this->resultat = array();
  27.                 $this->connection_verif = 0;
  28.                 $this->connection();
  29.             }
  30.                
  31.         //fonction de connecti+on a mysql  
  32.         function connection()
  33.             {
  34.                 if($this->connection_verif == "0" )
  35.                     {
  36.                         $this->connection_sql = @mysql_connect($this->sql_serveur, $this->sql_utilisateur, $this->sql_password);
  37.                         if(!$this->connection_sql)
  38.                             {
  39.                                 $this->mysql_erreur();
  40.                             }
  41.                         else
  42.                             {
  43.                                 $this->selection_bd();
  44.                             }
  45.                     }
  46.             }
  47.        
  48.         //fonction de selection de la base de donnée  
  49.         function selection_bd()
  50.             {
  51.                 $this->select_bd = @mysql_select_db($this->sql_bd, $this->connection_sql);
  52.                 if(!$this->select_bd)
  53.                     {
  54.                         $this->mysql_erreur();
  55.                     }
  56.                 else
  57.                     {
  58.                         $this->connection_verif = 1;
  59.                     }
  60.             }
  61.        
  62.         //fonction de déconnexion de la base de donnée  
  63.         function deconnexion()
  64.             {
  65.                 mysql_close($this->connection_sql);
  66.             }
  67.            
  68.         //fonction d'execution de requête  
  69.         function requete($requete, $p)
  70.             {
  71.                 $this->resultat[$p] = mysql_query($requete);
  72.                 $this->nb_requete++;
  73.                 if(!$this->resultat[$p])
  74.                     {
  75.                         $this->mysql_erreur();
  76.                     }
  77.             }
  78.        
  79.         //fontion qui retourne les donnée dans un tableau grace a fetch array  
  80.         function resultat($p)
  81.             {
  82.                 return @mysql_fetch_array($this->resultat[$p]);
  83.             }
  84.   //fontion qui retourne une ligne de résultat MySQL sous la forme d'un objet
  85.         function resultat_object($p)
  86.             {
  87.                 return @mysql_fetch_object($this->resultat[$p]);
  88.             }
  89.          
  90.   //fontion qui retourne une ligne de résultat MySQL sous la forme d'un tableau associatif
  91.         function resultat_assoc($p)
  92.             {
  93.                 return @mysql_fetch_assoc($this->resultat[$p]);
  94.             }
  95.         //fonction permettant de compter le nombre de resultat trouvé  
  96.         function nb_resultat($p)
  97.             {
  98.                 return @mysql_num_rows($this->resultat[$p]);
  99.             }
  100.         //function d'affichage des erreur mysql     
  101.         function mysql_erreur()
  102.             {
  103.                 if($this->sql_debug == 0)
  104.                     {
  105.                         echo $this->message_erreur;
  106.                     }
  107.                 elseif($this->sql_debug == 1)
  108.                     {
  109.                         $this->erreur = @mysql_error($this->connection_sql);
  110.                         $message = "une erreur mysql est survenue : <br /> <form name='mysql'><textarea rows='15' cols='60'>".$this->erreur."</textarea></form>";
  111.                         echo $message;
  112.                     }
  113.             }
  114.     }
  115. /*  
  116. --__Information sur la classe__--
  117. connection : automatique  
  118. deconnection : $sql->deconnexion()
  119. requete : $sql->requete($requete,$p)
  120. fetch_array : $sql->resultat($p)
  121. $p es numero de la requette
  122. nb_resultat : sql->nbresultat($p)
  123. nb de requete :$sql->nb_requete
  124. */
  125. ?> 
  126. La seconde es pays :
  127. <?php
  128. include("../classes/mysql.class.php" );
  129. class pays
  130. {
  131.  //listage de tout les pays present en base
  132.  var $id;
  133.  var $nom_pays
  134.  function pays($id)
  135.  {
  136.  // recuperation des variables
  137.  }
  138.  function list_all()
  139.  {
  140.  $this->$db = new mysql;
  141.  $this->$result=$db->requete("SELECT nom_pays FROM pays ORDER BY nom_pays ASC",0);
  142.  return $result;
  143.  }
  144. }
  145. ?>
  146. Le code php de la liste déroulante de mon formulaire :
  147. Et voici le champ de formulaire sur quoi joue ces 2 classes, je veut alimenter grâce a ce script une liste déroulante avec des nom de pays pressent en base de données
  148. <tr>
  149.   <td>
  150.   <div class="attributename">Pays</div></td>
  151.   <td class="attributeinput">
  152.    <select name="pays">
  153.              <?
  154.      include("../classes/pays.class.php" );
  155.   $pays= new pays();
  156.   print_r($pays->list_all());
  157.    if( $result = result(0) )
  158.   {
  159.    echo "<option>".$val["nom_pays"]."</option>\n";
  160.      }
  161.   ?>
  162.             </select>
  163. </tr>


Je vois remercie par avance de votre aide !!
 
Frederic

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed