Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

problème avec ma classe

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
mailer
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 26 Juin 2005
Messages: 158

URL permanente de ce messagePosté le : Jeu Fév 23, 2006 22:25    Sujet du message: problème avec ma classe

bonsoir
j'essais de créer une classe me permetant de pouvoir par la suite l'adapter à plusieurs cas!

Voilà
Code:
unction requete ($requete)
    {
        // Exécution de la requête
        $result = mysql_query ($requete, $this->connect);
       
        // Vérification de la requête
        if (!$result)
        {
            // Affichage du message d'erreur
            echo "Erreur : Impossible d'effectuer la requête au serveur.";
            exit;
        }
        else
        {
            // Initialisation de l'attribut de requête
            $this->requete = $result;
        }
    }


En inserant ce fichier mis a part j'aimerais donc pouvoir aller plus loin dans la requete mysql.

Code:
$result = $database->requete ("SELECT COUNT(*) AS ip_exist FROM staterror404 WHERE ip='" . $ip . "' AND urlRef='" . $http_referer . "' ");
$count = $database->mysql_fetch_array($result);


j'aimerais exploiter le résultat que j'ai dans $result mais j'ai droit a une erreur :
Fatal error: Call to undefined function: mysql_fetch_array() in c:\easyphp1-7\testphp\testpao\index.php on line 36
 
mailer
petit-ourson
WRInaute passionné
WRInaute passionné

Inscrit le: 31 Mai 2004
Messages: 790
Localisation: Paris

URL permanente de ce messagePosté le : Jeu Fév 23, 2006 22:58    Sujet du message: problème avec ma classe

La méthode mysql_fetch_array n'existe pas sur $database.

$count = mysql_fetch_array($database->requete);

Cela devrait fonctionner tout simplement.

Ta méthode requete() ne retourne rien, il n'y a pas de "return".
 
petit-ourson Visiter le site web du posteur
mailer
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 26 Juin 2005
Messages: 158

URL permanente de ce messagePosté le : Jeu Fév 23, 2006 23:31    Sujet du message: problème avec ma classe

je dois mettre un return dans requete ?
peux tu me montrer un exemple ?
 
mailer
thierry8
WRInaute accro
WRInaute accro

Inscrit le: 11 Juil 2005
Messages: 3252

URL permanente de ce messagePosté le : Ven Fév 24, 2006 0:11    Sujet du message: problème avec ma classe

Code:
function requete ($requete)
    {
        // Exécution de la requête
        $result = @mysql_query ($requete, $this->connect);
       
        // Vérification de la requête
        if (!$result)
        {
            // Affichage du message d'erreur
            exit("Erreur : Impossible d'effectuer la requête au serveur.");
        }
        else
        {
            // Initialisation de l'attribut de requête
            return $this->requete = $result;
        }
    }

Mais je pense que sauvegade le résultat est inutile.
Je fais allusion à cela: $this->requete = $result;
 
thierry8 Visiter le site web du posteur
mailer
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 26 Juin 2005
Messages: 158

URL permanente de ce messagePosté le : Ven Fév 24, 2006 10:00    Sujet du message: problème avec ma classe

alors j'ai ajouté le return dans la méthode function requete ($requete) comme indiqué!

Mais en executant la page, rien ne s'affiche, je comprends pas:
je devrais avoir le résulat de ma requete count qui devrait s'afficher...
 
mailer
thierry8
WRInaute accro
WRInaute accro

Inscrit le: 11 Juil 2005
Messages: 3252

URL permanente de ce messagePosté le : Ven Fév 24, 2006 10:15    Sujet du message: problème avec ma classe

Code:
$result = $database->requete ("SELECT COUNT(*) AS ip_exist FROM staterror404 WHERE ip='" . $ip . "' AND urlRef='" . $http_referer . "' ");
$count = $database->mysql_fetch_array($result);


Remplace par:

Code:
$result = $database->requete ("SELECT COUNT(*) AS ip_exist FROM staterror404 WHERE ip='" . $ip . "' AND urlRef='" . $http_referer . "' ");
$val_rq = $database->mysql_fetch_array($result);
$count = $val_rq['ip_exist'];


Ceci fonctionnera à condition que ta requête soit bonne.
Tu devrais acheter un bouquoin ou apprendre sur le net.
Sans base solide tu n'arrivera jamais à rien, et il n'y aura
pas toujours quelqu'un pour tout te faire.

EDIT:
Je suppose que $database->mysql_fetch_array($result);, est une fonction que tu à créé dans ta class. Sinon il est certain que ça ne fonctionnera pas.

Laisse tombé les class pour le moment et aprend la programmantion en ligne. Ce sera déjà un bon début.
 
thierry8 Visiter le site web du posteur
mailer
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 26 Juin 2005
Messages: 158

URL permanente de ce messagePosté le : Ven Fév 24, 2006 20:18    Sujet du message: problème avec ma classe

en fait j'ai une classe mere sgbd et une classe fille mysqlsgbd
Code:
class MySQL extends SGBD
{
    // Méthode connect()
    function connect ()
    {
        // Connection à MySQL
        $connect = mysql_pconnect ($this->SGBD_host, $this->SGBD_login, $this->SGBD_password);

        // Vérification de la connection
        if (!$connect)
        {
            // Affichage du message d'erreur
            echo "Erreur : Connection à MySQL impossible.";
            exit;
        }

        // Connection à la base de données
        if (!mysql_select_db ($this->SGBD_base, $connect))
        {
            // Affichage du message d'erreur
            echo "Erreur : Connection à la base de données impossible.";
            exit;
        }
       
        // Initialisation de l'attribut de connection
        $this->connect = $connect;
    }
 
    // Méthode requete()
    function requete ($requete)
    {
        // Exécution de la requête
        $result = mysql_query ($requete, $this->connect);
      
       
        // Vérification de la requête
        if (!$result)
        {
            // Affichage du message d'erreur
            echo "Erreur : Impossible d'effectuer la requête au serveur.";
            exit;
        }
        else
        {
            // Initialisation de l'attribut de requête
            $this->requete = $result;
        }
    }

    // Méthode deconnect()
    function deconnect ()
    {
        // Déconnection de la base de données
        mysql_close ($this->connect);
    }
}
?>


Voilà mais en faisant comme ceci ensuite ;
Code:

$SQL = "MySQL";
$database = new $SQL('root', '', 'localhost', 'test');
$database->connect();
$result = $database->requete ("SELECT COUNT(*) AS ip_exist FROM staterror404 WHERE ip='" . $ip . "' AND urlRef='" . $http_referer . "' ");
$count = mysql_fetch_array($database->requete);

echo $count['ip_exist'];


çà ne marche pas, rien ne s'affiche.

Sinon je m'interesse à la pao, je m'y connais assez en php pour faire le pas, malgrès que ce en soit pas si facile ;(
 
mailer
thierry8
WRInaute accro
WRInaute accro

Inscrit le: 11 Juil 2005
Messages: 3252

URL permanente de ce messagePosté le : Ven Fév 24, 2006 21:14    Sujet du message: problème avec ma classe

Dans ta table je ne vois pas les variables déclarées...
Et la fonction "requete" n'a pas été modifiée par le code indiqué, autrement dit pas de return.
 
thierry8 Visiter le site web du posteur
mailer
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 26 Juin 2005
Messages: 158

URL permanente de ce messagePosté le : Ven Fév 24, 2006 21:50    Sujet du message: problème avec ma classe

voilà le code que j'ai sur ma page de test =W test.php
Code:
include ("SGBD.class.php");

/* Initialisation de la variable du SGBD correspondant */
$SQL = "MySQL";

// Inclusion de la classe fille du SGBD correspondant
include ($SQL.".SGBD.class.php");

$database = new $SQL('root', '', 'localhost', 'test');

$ip = $_SERVER["REMOTE_ADDR"];
$http_referer = "http://127.0.0.1";
$http_request = $_SERVER["REQUEST_URI"];
$timestamp = time();

// Connection à la base de données
$database->connect();
$result = $database->requete ("SELECT COUNT(*) AS ip_exist FROM staterror404 WHERE ip='" . $ip . "' AND urlRef='" . $http_referer . "' ");
$count = mysql_fetch_array($database->requete);
echo $ip.'<br />';
echo $http_referer;
echo $count['ip_exist'];


// Déconnection de la base de données
$database->deconnect();

J'ai essayé de mettre un return mais çà change rien en fait
 
mailer
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

A lire dans l'actualité sur WRI :

En savoir plus : , .

Autres sujets de discussion :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort