Bonjour,
Je précise que j'apprends l'objet, que dans cette exemple si je fais un if celà fonctionne très bien -> donc peut-être un futur code source, mais le soucis est sur la génération d'une liste de résultat.
Dans l'exemple en dessous, ça ne doit retourner que 2 résulats :
titre 1
titre 2
mais là j'ai titre 2titre 2titre 2titre 2titre 2titre 2titre 2titre 2
mais pas titre 1.
Voici un objet pour se connecter aux différentes bases de données avec possibilité d'envoyer la requête avec une autre méthode et d'obtenir le retour (actuellement qu'avec mysql)
Objet :
/*
*Objet permettant la connection a toutes les bases de donnees selon
*$Type_Db :
*
*
* 1 -> Mysql
* 2 -> MSSQL
* 3 -> Oracle
* 4 -> PostgreSQL
*/
class CConnectDB_Request
{
var $Server;
var $Port = '3306';
var $Login;
var $Pass;
var $Database;
var $Type_Db;
var $Connect;
function TypeDataBase()
{
switch($this->Type_Db)
{
//MySQL
case 1:
$this->Connect = mysql_connect($this->Server.":".$this->Port,$this->Login,$this->Pass) or die("Connexion au serveur MySQL impossible");
mysql_select_db($this->Database) or die("Connexion a la Base MySQL ".$this->Database." impossible");
break;
//SQL Serveur
case 2:
$this->Connect = odbc_connect($this->Server,$this->Login,$this->Pass) or die("Connexion au serveur MSSQL impossible");
break;
//Oracle Serveur
case 3:
$this->Connect = oci_connect($this->Login,$this->Pass,$this->Database) or die("Connexion au serveur Oracle impossible");
break;
//PostegreSQL Serveur
case 4:
$this->Connect = pg_connect("host=".$co_req->Server." port=".$this->Port." dbname=".$this->Database." user=".$this->Login." password=".$this->Pass."") or die("Connexion au serveur PostegreSQL impossible");
break;
}
}
function RequestReturnType($Req,$TypeRetour="")
{
switch($this->Type_Db)
{
//MySQL
case 1:
$Result = mysql_query($Req) or die("Erreur dans la requete MySQL");
if($TypeRetour != "")
{
$function = "mysql_".$TypeRetour;
$Result = $function ($Result);
}
else
$Result = mysql_fetch_assoc($Result);
return $Result;
break;
//SQL Serveur
case 2:
odbc_commit($this->Connect);
$Result = odbc_exec($this->Connect,$Req) or die("Erreur dans la requete MSSQL");
return $Result;
break;
//Oracle Serveur
case 3:
//oci_commit($this->Connect);
$Req = oci_parse($this->Connect, $Req); //prepare la requete
$Result = oci_execute ($Req) or die("Erreur dans la requete Oracle");
return $Result;
break;
//PostegreSQL Serveur
case 4:
$Result = pg_query($this->Connect, $Req) or die("Erreur dans la requete PostegreSQL");
return $Result;
break;
}
}
function CloseDb()
{
mysql_close($this->Connect);
}
}
Mon appel avec un while qui boucle à l'infini :
$co_req = new CConnectDB_Request;
$co_req->Server = "127.0.0.1";
$co_req->Login = "root";
$co_req->Pass = "toto";
$co_req->Database = "toto";
$co_req->Type_Db = 1; //MySQL
$co_req->TypeDataBase();
$VerifConnect = "SELECT titre_article ";
$VerifConnect .= "FROM article A ";
$VerifConnect .= "WHERE A.id_utilisateur = 1 ";
while($ResVerifConnect = $co_req->RequestReturnType($VerifConnect,"fetch_object"))
{
echo $ResVerifConnect->titre_article;
}
Merci pour votre aide car là je ne vois pas du tout