begin process at 2012 05 31 03:46:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

méthode d'un objet qui boucle à l'infini


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

méthode d'un objet qui boucle à l'infini

mardi 17 mars 2009 à 17:46:52 | méthode d'un objet qui boucle à l'infini

lord1366

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

mardi 17 mars 2009 à 20:10:00 | Re : méthode d'un objet qui boucle à l'infini

malalam

Administrateur CodeS-SourceS
Réponse acceptée !
Hello,

tu refais un mysql_query() à chaque appel de ta méthode CConnectDB_Request::ResquestReturnType(). Donc tu changes de ressources systématiquement avec la même requête, donc tu boucles.

mardi 17 mars 2009 à 23:20:57 | Re : méthode d'un objet qui boucle à l'infini

lord1366

Franchement merci, je sais que l'erreur est toute bête mais je l'avais vraiment pas vu.

Un grand merci


Cette discussion est classée dans : req, mysql, serveur, connect, result


Répondre à ce message

Sujets en rapport avec ce message

PB avec mysql_connect [ par Dexterage ] bonjour a tous :) j'ai fé un script d'agenda en php utilisant mysql. En local, l'appli tourne niquel. Mais le truc c'est que cette appli peut tourné recharger une variable contenue dans un tableau [ par jphilippev ] bonjour,je voudrais changer une variable que je modifie sur ma table le soucis c'est que cela ne fonctionne pasdonc j'ai besoin de vos lanternes merci Affichage Table ordonnées par Date de derniere modification [ par Kaotic21 ] Bonjour, voila j'ai effectué une requete m'affichant les différentes tables de ma base de données, à coté de chacune d'elle je voudrais que sa fiche l Inscription d'un formulaire dans la base données [ par cmoimath ] Bonjour, je suis nouveau sur ce site, je n'ai pas l'habitude de demander de l'aide, mais aprés un bon nombres d'heures de recherche, je n'ai tojours p Problème pour récupérer les données d'un fichier texte vers une table mysql ! ! ! [ par barriau76 ] Bonsoir,Je vous explique ce que je veux faire. Je suis en train de développer un site internet dynamique. j'ai un problème de récupération de données Modification d'un code en PHP4 pour le rendre compatible PHP4 [ par tom10000 ] Voici mon code ( en tout cas la partie qui pose problème sous PHP5  : include(dirname(__FILE__) . "/inc/header.php");$server = 'localhost';    Probleme de couleur [ par christuckers ] Bon ba re tout le monde !! Je ne sais pas si je m'adresse au bon endroit, mais comme je vois une différence entre IE 6.0 et Firefox 1.5.0 ...En dessou Comment récupérer une ligne de donnée dans un tableau dynamique car à un clique dans le tableau [ par patachon_76 ] Bonjour, Je cherche une solution afin de pouvoir sélectionner une ligne dans mon tableau de donnée qui est créé dynamiquement par rapport à m creat table [ par kelm_by ] salut tous le monde,je veux créer une base de donneés mais ca marche pas.pouvez vous m'aider svpmerci$connect = mysql_connect("sql.free.fr","********" lier 2 tables [ par Sogeekette ] Bonjour,J'ai 2 tables dans ma base de données. Lorsque des données sont saisies (la saisie se fait dans 2 formulaires différents, qui entrent les donn


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales