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