Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

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

frederic92, le lundi 21 novembre 2005 à 11:16:07 
 Signaler ce message aux modérateurs

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

1

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

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

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

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

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

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

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

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

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

frederic92, le lundi 21 novembre 2005 à 15:02:12

Toujours rien ! sniffffffffff la liste ne remplis pas !!

Répondre à frederic92

11

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

Luffy =), le lundi 21 novembre 2005 à 15:27:39
  • +1

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

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

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

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

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

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

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

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 =)
Gestion d'une classe de primaire Bonjour, je cherche un logiciel simple en vb ou access pour gerer une classe de primaire ;listes ;absence;Notes....MERCI www.commentcamarche.net/forum/affich-9099845-gestion-d-une-classe-de-primaire
Pb impression gestionnaire usb manquant epson Bonjour, bonjour j'ai 1pb d'impression avec une epson stylus color 740 sur un macbook leopard, réponse : imprimante en pause, puis gestionnaire classe usb manquant; j'ai été sur le site epson qui indique :pilote pour mac os x disponible, je télécharge... www.commentcamarche.net/forum/affich-4754666-pb-impression-gestionnaire-usb-manquant-epson
Classement photos Salut J'ai énormément de photos sur l'ordi. Je cherche un logiciel pour les classer Que me conseillez-vous? Merci www.commentcamarche.net/forum/affich-1582133-classement-photos
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
Gestion du profil sous Mozilla ThunderbirdGestion du profil sous ThunderBird Localiser le profil Le profil utilisateur de Mozilla Thunderbird est stocké dans un répertoire utilisateur par défaut dont l'emplacement dépend du système d'exploitation : Sous Windows XP/2000, le chemin est... www.commentcamarche.net/faq/sujet-4588-gestion-du-profil-sous-mozilla-thunderbird
Gestionnaire de périphériquesCet article a pour but de vous aider à manipuler le gestionnaire des périphériques... :-) Vous pouvez utiliser le Gestionnaire de périphériques pour mettre à jour les pilotes (ou les logiciels) des périphériques matériels, modifier les paramètres... www.commentcamarche.net/faq/sujet-8336-gestionnaire-de-peripheriques
Gestion de course cyclisteBonjour, ne me sentant pas capable de "pondre" une telle chose, je cherche un logiciel (free) ou sous excel, une gestion de course cycliste avec possibilité de voir des classements intermédiaires, etc ... Les spécialistes du vélo devraient voir de... www.commentcamarche.net/forum/affich-1491816-gestion-de-course-cycliste
[Excel/VB] Gestion de collègeQuelqu'un aurait-il un programme sur la gestion d'un collège (classe, élève...) sur Excel/VB Merci d'avance www.commentcamarche.net/forum/affich-332899-excel-vb-gestion-de-college
Gestion de documents (GED) un bon plan (Résolu)Bonjour Je cherchais une Gestion de documents pour faire du ménage dans mes papiers. Pour ceux qui sont dans le même cas j'ai trouvé un petit soft entièrement gratuit : http://www.2jbconcepts.fr a++ www.commentcamarche.net/forum/affich-1784535-gestion-de-documents-ged-un-bon-plan
Télécharger Classeur - Gestion de documentsDans 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
Télécharger Votre ClasseurVotre Classeur est une application de gestion de fichiers ainsi que de référencement et de sauvegarde de documents. Il permet l’impression des descriptifs de votre classeur, la sauvegarde et le transfert de vos fichiers référencés de votre... www.commentcamarche.net/telecharger/telecharger-34058411-votre-classeur
Télécharger Media Player ClassicMedia Player Classic est un lecteur vidéo reprenant l'apparence des premières version de Windows Media Player. Son apparence très simple cache en réalité un lecteur très performant reconnaissant un très grand nombre de formats vidéo et audio :... www.commentcamarche.net/telecharger/telecharger-34055090-media-player-classic
Konami Classics Series: Arcade HitsOther Names:Konami Classic Series: Arcade Hits, Konami Arcade Collection (JPN), (UK), Genre:Compilation, Nb. de joueurs hors-ligne:1-2, Avis ESRB :Everyone 10+, Développeur:Konami, Divers:Multi-card Multiplayer, Single-card Multiplayer, Page web du... www.commentcamarche.net/guide/906928-konami-classics-series-arcade-hits
Verbatim Secure Digital High Capacity 8 Go Class6Class 6, SecureDigital HC, 8192 Mo, Type:SecureDigital HC, Mémoire:8192 MB, Divers: , Page web du produit:Anglais www.commentcamarche.net/guide/1011958-verbatim-secure-digital-high-capacity-8-go-class6
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
Zelda classé meilleur jeu de tous les temps selon un magazine britannique(Paris - Relaxnews) - Edge, l'intransigeant magazine de jeu vidéo britannique, livre dans un supplément en vente le 3 juillet en Angleterre un classement des cent meilleurs titres de tous les temps. Selon lui, le jeu Zelda : Ocarina of Times arrive en... www.commentcamarche.net/actualites/zelda-classe-meilleur-jeu-de-tous-les-temps-selon-un-magazine-britannique-3202421-actualite.php3
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... www.commentcamarche.net/contents/php/phpclass.php3
Méthodologie de gestion de projetLa gestion de projet - La nécessité d'une méthodologie claire On appelle « gestion de projet » (éventuellement « conduite de projet ») l'organisation méthodologique mise en œuvre pour faire en sorte que l'ouvrage réalisé par le maître... www.commentcamarche.net/contents/projet/projetmet.php3
Enterprise Resource Planning (ERP) - Progiciel de Gestion IntégrIntroduction aux ERP Les ERP (en anglais Enterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés (PGI), sont des applications dont le but est de coordonner l'ensemble des activités d'une entreprise (activités dites verticales... www.commentcamarche.net/contents/entreprise/erp.php3