Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Pb de gestion de classe !! help me !!!!!!!

frederic92, le lundi 21 novembre 2005 à 11:16:07
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'utilise 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 vous remercie par avance de votre aide !!

Frederic
Configuration: php 4
Répondre à frederic92  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 12:07:07
salut =)

et quel est le problème ?
ça ne marche pas ? un message d'erreur peut-être ? Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 12:08:42

( j'utilise php


Ca n'est pas Php 5 qui inclus la notion de classe ? ! ! !


Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Répondre à Zep3k!GnO

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 12:14:01
non, c'est bien la version 4, par contre la version 5 apporte des choses comme le constructeur, les variables privées, etc... Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frederic92, le lundi 21 novembre 2005 à 12:14:31
php 4 gere egalement les classe,

le pb que j'ai es que ma liste deroulante ne s'allimente pas, alors qu'elle le devrais avec le resultat de la requette.
Répondre à frederic92

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 12:23:23
Pour moi le soucis vient p'tet du fait que dans ta classe pays au sein de la fonction list_all tu fais $this->$db = new mysql;

le soucis est que tu fais appel a une fonction qui n'est pas définie dans ta classe (en + tu mets un $this ) alors que l'attribut $db ne fais pas partit de ta classe 'pays'.
je pense que tu devrais donc voir un peu du coté de l'héritage, ce qui te permettrai d'avoir accès aux fonction de ta classe mysql au sein de ta classe pays..

au fait aussi tu mets // constructeur dans ta classe mysql mais c'est un abbus de langage car dans le cas présent ça n'en est pas un vrai étant donné qu'il ne s'éxécute pas lors de l'instantiationde ta classe...

Voilà pour moi ;P

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Répondre à Zep3k!GnO

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 12:29:32
et pour moi, la liste html ne fonctionne pas comme tu l'as fait :
<SELECT>
<OPTION value='opopop'>OPOPOP
<OPTION value='opopop2'>OpOpOp 2
</SELECT>

on a pas besoin de refermer la balise.
Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 14:15:04
on a pas besoin de refermer la balise.

t'es sur pour la select ? ! ? !

Moi à la rigueur pour etre puritain j'aurai mis :

<SELECT name="menu">
<OPTION value='opopop'/>OPOPOP
<OPTION value='opopop2'/>OpOpOp 2
</SELECT>


Mais je pense que le soucis vient pas mal aussi de ce que j'ai signalé + haut . ..

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Répondre à Zep3k!GnO

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frederic92, le lundi 21 novembre 2005 à 14:42:05
<select name="pays">
<?
include("../classes/pays.class.php");
$pays=new pays();
$test = $pays->result;
print_r($test);


if( $result = result(0) )
{
echo "<option value =".$val["nom_pays"]."/>".$val["nom_pays"]."\n";
}
?>

</select>



ce serais plus ca selon vous alors ?
Répondre à frederic92

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 14:47:59
print_r($test);

Ca t'affiches quelque chose ça ?!?!

Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Répondre à Zep3k!GnO

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frederic92, le lundi 21 novembre 2005 à 15:02:12
toujours rien ! sniffffffffff la liste ne remplis pas !!
Répondre à frederic92

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 15:21:01
Yes c'est bien ce que je pensais donc pour le moment le code du menu déroulant en html n'a rien a voir ... je te conseillerai de relire mon message n° 5 car je pense que je n'y ai pas dit que des conneries :D
t'es partis sur la piste du html qui ne servait a rien . . . :P

dis ce que t'en penses de mon message. . .


Zep3k!GnO
-->kurtis jackson:"Dans la vie tu as besoin de 3 choses : le fitness, l'aérobic et moi."
Répondre à Zep3k!GnO

12


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 15:27:39
Alors, pour ce qui est des balises, il faut bien fermer la </SELECT> mais pas les <OPTION>.
mais comme tu dis, rien à voir avec le souci du moment...

je suis d'accord avec toi, $db ne fais pas parti de la classe pays,donc ça ne peux pas marcher. D'ailleurs il dervait s'afficher un message d'erreur.

mais je ne ferais pas d'héritage, du point de vue objet ça n'aurait pas de sens.

et pour le constructeur, je m'étais trompé, il y en avait aussi en php4, je viens d'aller voir sur le net (http://www.portix.be/wiki/index.php/La_programmation_Orient%C3%A9e_Objet_en_PHP4#Le_constructeur.2C_l.27instanciation)
Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 15:33:09
tu fais ça également :
 $this->$result=$db->requete(...
mais tu remarqueras que ta fonction requete() ne renvoie rien...
donc tu ne peux pas récupérer tes pays.
Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 16:31:19
Affirmatif mon colonel :P


juste "je ne ferais pas d'héritage, du point de vue objet ça n'aurait pas de sens"--> pourquoi ?! ?!

Zep3k!GnO
-->kurtis jackson:"On est des rangers mec, des rangers."
Répondre à Zep3k!GnO

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 16:47:29
ben il faut traduire des diagrammes en français :
- "le pays hérite de la base de données" :-/
- "le pays utilise la base de données" :-D c'est mieux !

en fait s'il y aurait héritage, ce serait par exemple qu'il y aurait une classe continent, et là la classe pays pourrait hériter de continent.

Mais dans ce cas-là, il n'y aucune raison de faire un héritage.

Enfin du moins, c'est ce que je ferais ;-) Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frederic92, le lundi 21 novembre 2005 à 17:09:32
C claire qu'au point de vue logique de l'héritage tu as entièrement raison Luffy !! Après, c vrais que s'il un aévais héritage ça simplifierais un peut le code
Répondre à frederic92

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Zep3k!GnO, le lundi 21 novembre 2005 à 17:10:13
Okay c'est une question de philosophie de l'héritage , c'est bien vrai ce que tu dis la ... Zy avait pô penser ^^ hi hi hi

Mais ça peut se faire non ?! meme si c'est pas super top moumouthe ...

Zep3k!GnO
-->kurtis jackson:"On est des rangers mec, des rangers."
Répondre à Zep3k!GnO

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frederic92, le lundi 21 novembre 2005 à 17:14:02
lol oui je crois c la façon la plus simple même si ça va pas plaire Luffy !!

L’application va fonctionner ! Mais c après si je veut réutiliser les classe dans une autre appli ça n'auras plus trop de sens !!
Répondre à frederic92

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Luffy =), le lundi 21 novembre 2005 à 17:34:36
lol oui je crois c la façon la plus simple même si ça va pas plaire Luffy !!
ha ha, bon ça va, je ne vais pas être trop vexé, t'inquiètes pas !

Pour des petites applis web comme ça, c'est pas trop grave ! mais quand c'est un gros projet, il vaut mieux faire une bonne étude des classes avant de se lancer dans le code !

Mais pour en revenir à ton problème ça avance ? Le Parisien, il vaut mieux l'avoir en journal !!! :-P
Répondre à Luffy =)

Résultats pour pb de gestion de classe !! help me !!!!!!!

Créa BD pour classement joueur tennis (Résolu) On veut implanter une base de données pour la gestion des rencontres des tournois de tennis d’une saison donnée. On pourra ainsi déterminer facilement le classement des joueurs au niveau mondial. On dispose des informations suivantes. Spécifications... www.commentcamarche.net/forum/affich-1349656-crea-bd-pour-classement-joueur-tennis
[Outlook] Supp règles ds assist gest msg (Résolu) Bonjour à tous et toutes. Suis nouveau sur ce forum et souhaiterais bcp que quelqu'un puisse m'aider en me disant comment faire pour supprimer définitivement des règles de classement des msg, paramétrés dans assistant gestion des msg. Vous... www.commentcamarche.net/forum/affich-2168309-outlook-supp-regles-ds-assist-gest-msg
Télécharger Classeur - Gestion de documents Dans le monde virtuel, comme dans le monde réel, il est toujours plus aisé de travailler avec des documents bien classés. Classer, Archiver, Référencer et Ouvrir vos documents, telles sont les tâches basiques de ce programme auxquels s’ajoutent... www.commentcamarche.net/telecharger/telecharger-34056657-classeur-gestion-de-documents

Résultats pour pb de gestion de classe !! help me !!!!!!!

Mise à jour d'une procèdure ou d'une fonction en VBAMise à jour d'une procédure ou d'une fonction en VBA Souvent la gestion d'un classeur, avec seulement les fonctions standards du tableur, pose des problèmes d'utilisation. Vous songez donc à utiliser Visual Basic pour Applications (VBA) mais... www.commentcamarche.net/faq/sujet-8130-mise-a-jour-d-une-procedure-ou-d-une-fonction-en-vba
Désactiver le gestionnaire ORANGE/WANADOOVoici une manipulation très utile pour ceux qui utilisent une connexion Wanadoo / Orange. Il est très intéressant de remarquer que les programmes de ce FAI (gestionnaire Orange, Navigateur Orange) sont certes pratiques pour les débutants, mais sur... www.commentcamarche.net/faq/sujet-4868-desactiver-le-gestionnaire-orange-wanadoo
Logiciels de gestion et comptabilitéLogiciels de gestion et comptabilité De nombreux logiciels sont disponibles sur le marché pour vous faciliter la gestion de votre entreprise, notamment dans le domaine de l'architecture et du bâtiment. Comptabilité, facturation, gestion... www.commentcamarche.net/faq/sujet-9737-logiciels-de-gestion-et-comptabilite

Résultats pour pb de gestion de classe !! help me !!!!!!!

Gestion des feuilles d'un classeur en vba (Résolu)Bonjour, Je suis en train d'apprendre à utiliser le langage VBA sous excel, et mon problème est le suivant: lorsque je créé une nouvelle feuille à un classeur, en faisant Sheets.Add After:=Sheets(Sheets.Count) je n'arrive pas à trouver la... www.commentcamarche.net/forum/affich-7156422-gestion-des-feuilles-d-un-classeur-en-vba
Probleme JTextField java (Résolu)Bonjour, Un petit souci pour récuperer le contenu d'un JTexfield et bien qu ayant essayer deux/trois methodes trouvé sur le forum je bloque toujours. dans ma classe de gestion de la fenetre, j ai ... // construction de la fenetre tF1 = new... www.commentcamarche.net/forum/affich-6047621-probleme-jtextfield-java
Recherche excel 2003 (Résolu)Bonjour, voila j'ai réalisé dans le classeur, 16 feuilles avec dans chacun un tableau de gestion de stock simple. J'ai voulu faire sur une 17ème feuille un tableau me calculant automatiquement un produit qui se trouve dans chacun des... www.commentcamarche.net/forum/affich-5555666-recherche-excel-2003

Résultats pour pb de gestion de classe !! help me !!!!!!!

Télécharger ACDSeeACD See est un gestionnaire de photos commercial, proposant les fonctionnalités suivantes : Classement des photos Conversion de formats graphiques Retouche de photos Partage de photo Etant donné qu'il s'agit d'une démo limitée, on pourra... www.commentcamarche.net/telecharger/telecharger-34055496-acdsee
Télécharger Windows Live Photo Gallery Galerie de photos Windows Live est tout simplement un gestionnaire d'images à la façon de Vista mais sous XP. La tâche du programme débute dès le téléchargement des images sur votre disque dur. Le programme classe les images suivant leurs dates de... www.commentcamarche.net/telecharger/telecharger-34055902-windows-live-photo-gallery
Télécharger WindowBlindsWindowBlinds est un gestionnaire de thèmes visuels (skins) pour Windows. Au-delà des thèmes graphiques classiques de Windows, WindowBlinds peut radicalement changer l'interface utilisateur. En contrepartie, il peut éventuellement créer des... www.commentcamarche.net/telecharger/telecharger-34055490-windowblinds

Résultats pour pb de gestion de classe !! help me !!!!!!!

Motorola D701D 701,Sans-fil,100 heures d'autonomie en veille,Répertoire,Nb de lignes (affichage):2,Sans-fil,Type:Classique,Téléphone numérique (DECT),Video Phone:No,Écran rétro-éclairé,DECT/GAP,Gestion de plusieurs combinés,Nombre de combinés... www.commentcamarche.net/guide-achat/motorola-d701-1016641-fiche-technique
Topcom Butler Outdoor 2000 TwinEcran couleur:Backlit,Sans-fil,Type:Classique,Téléphone numérique (DECT),Video Phone:No,DECT/GAP,Fonction SMS,Gestion de plusieurs combinés,Nombre de combinés inclus:2,Nombre maximal de combinés:5,Répertoire,Nombre de places dans le... www.commentcamarche.net/guide-achat/topcom-butler-outdoor-2000-twin-1161289-fiche-technique
Geemarc Amplidect 250Sans-fil,Présentation du numéro appelant,Présentation du numéro appelant,Répertoire,Sans-fil,Type:Classique,Téléphone numérique (DECT),DECT/GAP,Gestion de plusieurs combinés,Nombre de combinés inclus:1,Nombre maximal de... www.commentcamarche.net/guide-achat/geemarc-amplidect-250-889794-fiche-technique

Résultats pour pb de gestion de classe !! help me !!!!!!!

Un site de téléchargement entièrement dédié à la musique classique(Paris - Relax news) - Un site de téléchargement légal dédié à la musique classique, Musiclassics.fr, a été inauguré mardi 15 avril lors d'une conférence de presse à Paris. "Première plate-forme commerciale d'écoute en ligne et de téléchargement... www.commentcamarche.net/actualites/un-site-de-telechargement-entierement-dedie-a-la-musique-classique-5846483-actualite.php3

Résultats pour pb de gestion de classe !! help me !!!!!!!

PHP - Les classesLa notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la...