Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3150 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Suivante
Auteur Sujet :

[PHP] utiliser beaucoup d'objets en php ?

n°386561
Big-Foot
Posté le 07-05-2003 à 21:19:57  profilanswer
 

Reprise du message précédent :

the real moins moins a écrit :

je débarque, mais au vu du code et de la question du 1er post du topic, je repondais ceci: c'est pas tellement d'utiliser ou pas des objects dont il faut se soucier, mais quoi qu'on fasse, le faire bien :o
à priori, je suis persuadé que t'es pas obligé de faire toutes ces requetes pour ce que tu veux obtenir.
deja le mysql_num_rows("SELECT machin..." pourrait etre remplacé par SELECT count(machin....)
 
....


 
 :ange: oups  
je redui apres

mood
Publicité
Posté le 07-05-2003 à 21:19:57  profilanswer
 

n°386563
Big-Foot
Posté le 07-05-2003 à 21:21:47  profilanswer
 

simogeo a écrit :


 
bon tu me laisses manger rapidement .. et on reprend ca ensuite ... ca risque d'être long ....
 
tu peux deja telecharger la classe de coonexion a la bdd qui etait dans un des premiers posts.
 
rassures moi, tu as une base de données Mysql ?  :whistle:  


 
la class de connection est en haut de cette class, c'est "$mysql_c"
et oui je pense qu'un base mysql j'en est une.

n°386571
Big-Foot
Posté le 07-05-2003 à 21:37:10  profilanswer
 

bon j'ai reduit a ca pour l'instant en bas :
 
 

Code :
  1. $this->V_tab_name = $votes_tab[tab_nb];
  2. $this->V_data = $mysql_c->DbSelect("SELECT `vote_name`, `expire_date` FROM `$this->V_tab_name` ORDER BY `id` DESC LIMIT 1" );
  3. $this->V_data[2] = mysql_num_rows(mysql_query("SELECT `id` FROM `$this->V_tab_name` WHERE `vote_name` = '$this->V_data[1]["votename"]'));
  4. $this->V_data_res = $mysql_c->DbSelect("SELECT `option` FROM `$this->V_tab_name` WHERE `vote_name` = '$this->V_data[1]["votename"]' ORDER BY `id` LIMIT $this->V_data[2]);
  5.  return true;

n°386574
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 21:40:13  profilanswer
 

Big-Foot a écrit :

bon j'ai reduit a ca pour l'instant en bas :
 
 

Code :
  1. $this->V_tab_name = $votes_tab[tab_nb];
  2. $this->V_data = $mysql_c->DbSelect("SELECT `vote_name`, `expire_date` FROM `$this->V_tab_name` ORDER BY `id` DESC LIMIT 1" );
  3. $this->V_data[2] = mysql_num_rows(mysql_query("SELECT `id` FROM `$this->V_tab_name` WHERE `vote_name` = '$this->V_data[1]["votename"]'));
  4. $this->V_data_res = $mysql_c->DbSelect("SELECT `option` FROM `$this->V_tab_name` WHERE `vote_name` = '$this->V_data[1]["votename"]' ORDER BY `id` LIMIT $this->V_data[2]);
  5.  return true;




 
nan on va reprendre a partir de la classe vote  ;)  
 
que veux tu quel te permettes en terme de fonctionnalités ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386575
the real m​oins moins
Posté le 07-05-2003 à 21:41:39  profilanswer
 

simogeo a écrit :


 
nan on va reprendre a partir de la classe vote  ;)  
 
que veux tu quel te permettes en terme de fonctionnalités ?

t courageux toi [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°386579
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 21:45:17  profilanswer
 


 
ben franchement,  :whistle:  oui..... :/ je ne vais pas le faire souvent.
 
 
> big -foot : ce soir au planning, on reprend la classe de connexion à la bdd, on mets en place 2,3 methodes de la classe vote, on lances un appel pour tester tout ca et c'est fini  :wahoo: ( et on en profitera pour aborder la méthode
)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386581
Big-Foot
Posté le 07-05-2003 à 21:46:53  profilanswer
 

Citation :

nan on va reprendre a partir de la classe vote    
 
que veux tu quel te permettes en terme de fonctionnalités ?


je veu qu'elle affiche un vote (formulaire) ou les resultats.
si le vote avait une date limite il affiche autre chose, je veu pouvoir pointer le vote sur un script que je choisi et avoir un lien dynamiqe en bas du formulaire vers les resultats.
 
the real moins moins comment tu disais que je dois faire pour racourcir mon mysql_num_rows ?


Message édité par Big-Foot le 07-05-2003 à 21:47:17
n°386582
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 21:52:36  profilanswer
 

Big-Foot a écrit :


je veu qu'elle affiche un vote (formulaire) ou les resultats.
si le vote avait une date limite il affiche autre chose, je veu pouvoir pointer le vote sur un script que je choisi et avoir un lien dynamiqe en bas du formulaire vers les resultats.


 
 
... bon, on aura pas le temps de tout faire ce soir (et j'ai pas tout compris non plus.
 
alors moi je te propose deux fonctionnalités dans l'immediat :
1- la classe permettra d'ajouter un vote.
2- elle permettra de recuperer tous les enregistrements.
 
 
 
mais pour ça il faut que tu me donnes la structure de ta base ?
tu as easyphp sur ta machine ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386583
Big-Foot
Posté le 07-05-2003 à 21:57:58  profilanswer
 

la bdd :

Code :
  1. # phpMyAdmin MySQL-Dump
  2. # version 2.4.0
  3. # http://www.phpmyadmin.net/ (download page)
  4. #
  5. # Serveur: localhost
  6. # Généré le : Mercredi 07 Mai 2003 à 21:54
  7. # Version du serveur: 4.0.12
  8. # Version de PHP: 4.2.0
  9. # Base de données: `bdd`
  10. # --------------------------------------------------------
  11. #
  12. # Structure de la table `votation`
  13. #
  14. CREATE TABLE votation (
  15.   id int(10) unsigned NOT NULL auto_increment,
  16.   vote_name varchar(250) NOT NULL default '',
  17.   option varchar(150) NOT NULL default '',
  18.   results int(10) unsigned NOT NULL default '0',
  19.   date date NOT NULL default '0000-00-00',
  20.   expire_date date default NULL,
  21.   num int(10) unsigned NOT NULL default '0',
  22.   PRIMARY KEY  (id),
  23.   KEY vote_name (vote_name)
  24. ) TYPE=MyISAM;


 
ce que je voudrai faire :
 

Code :
  1. Class Vote
  2. {
  3. function ... // definition des variables
  4. function ... // affichage du formulaire
  5. function ... // affichage des resultats
  6. }


 
ah oui si il y a un $V_tab_name dans la class c'est parce que je veu qu'il puisse geré plusieurs tableau au cas ou.

n°386585
the real m​oins moins
Posté le 07-05-2003 à 21:58:24  profilanswer
 


>>>>
 mysql_c->DbSelect('SELECT count(\'id\';) FROM ' . $this->V_tab_name . ' WHERE vote_name=\'' . $this->V_data[1]['votename'] . '\'';);  
<<<<


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 07-05-2003 à 21:58:24  profilanswer
 

n°386587
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:02:58  profilanswer
 

pour la methode affichage ... tu feras ensuite ce que tu voudras. mais je ne te recommande pas de melanger html et php .. le but des classes etant d'en faire des boites noires


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386589
Big-Foot
Posté le 07-05-2003 à 22:04:27  profilanswer
 

the real moins moins a écrit :


>>>>
 mysql_c->DbSelect('SELECT count(\'id\';) FROM ' . $this->V_tab_name . ' WHERE vote_name=\'' . $this->V_data[1]['votename'] . '\'';);  
<<<<


 
merci, euh pour la facon decrir ca avec des . comme pour un echo, je doit toujour faire ca dans une class ?

n°386591
Big-Foot
Posté le 07-05-2003 à 22:05:30  profilanswer
 

simogeo a écrit :

pour la methode affichage ... tu feras ensuite ce que tu voudras. mais je ne te recommande pas de melanger html et php .. le but des classes etant d'en faire des boites noires


 
qu'est ce que tu veut dire par la ??
 

n°386592
the real m​oins moins
Posté le 07-05-2003 à 22:06:09  profilanswer
 

Big-Foot a écrit :


 
merci, euh pour la facon decrir ca avec des . comme pour un echo, je doit toujour faire ca dans une class ?

tu vis ta vie, moi je trouve ça plus clair. le but ici c'était de raccourcir ton mysql_num_row en un bete count() en sql


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°386599
Big-Foot
Posté le 07-05-2003 à 22:09:59  profilanswer
 

mais ca equivau bien a :
mysql_c->DbSelect('SELECT count('id';) FROM '$this->V_tab_name' WHERE vote_name= '$this->V_data[1]['votename']';);  ?

n°386601
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:10:36  profilanswer
 

Big-Foot a écrit :


 
qu'est ce que tu veut dire par la ??


 
une fois que la classe est operationnelle on y touche plus.
 
et si on veut changer la mise en forme ca se passe ailleurs comme ca on ne fait pas de connerie  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386606
the real m​oins moins
Posté le 07-05-2003 à 22:14:24  profilanswer
 

Big-Foot a écrit :

mais ca equivau bien a :
mysql_c->DbSelect('SELECT count('id';) FROM '$this->V_tab_name' WHERE vote_name= '$this->V_data[1]['votename']';);  ?

les guillemets vont foirer mais en gros oui
de plus il me semble avoir déjà remarqué que des trucs du genre "blabla $maclasse->monattribut blabla" ça marchait pas tjs.
bref un 'blabla ' . $maclasse->monattribut . ' blabla' est plus rapide plus lisible et plus sûr.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°386607
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:15:23  profilanswer
 

avant tout chose est-ce que tu as testé ta classe conecxion au serveur Mysql ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386610
Big-Foot
Posté le 07-05-2003 à 22:19:19  profilanswer
 

Citation :

une fois que la classe est operationnelle on y touche plus.
 
et si on veut changer la mise en forme ca se passe ailleurs comme ca on ne fait pas de connerie


 
ben je fait pas de mise en forme je crois... par ex pour l'affichage du formulaire je voudrai renvoyé ca :
 

Code :
  1. nom du vote
  2. o option 1
  3. o option 2
  4. o option 3
  5. o option 4
  6. bouton
  7. lien resultats (si en veu il y en a pas)


 
ca va ca non ?
 
 
 

Citation :

les guillemets vont foirer mais en gros oui  
de plus il me semble avoir déjà remarqué que des trucs du genre "blabla $maclasse->monattribut blabla" ça marchait pas tjs.  
bref un 'blabla ' . $maclasse->monattribut . ' blabla' est plus rapide plus lisible et plus sûr.


 
bon je trouve pas que ce soit +lisible mais si c'est plus sure ok.
et si c'est pas une class ? on peut faire normalement non ?

n°386611
Big-Foot
Posté le 07-05-2003 à 22:19:40  profilanswer
 

simogeo a écrit :

avant tout chose est-ce que tu as testé ta classe conecxion au serveur Mysql ?


 
oui ca marche

n°386612
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:23:41  profilanswer
 

Big-Foot a écrit :


 
 

Code :
  1. nom du vote
  2. o option 1
  3. o option 2
  4. o option 3
  5. o option 4


 
 
 


 
dans ce cas il serait plus simple de faire 4 champs dans ta table pour stocker les 4 options  [:spamafote]  
c'est du texte que tu stockes la-dedans ?


Message édité par simogeo le 07-05-2003 à 22:23:58

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386615
Big-Foot
Posté le 07-05-2003 à 22:28:45  profilanswer
 

oui c'est du txt mais je sais pas combien il y aura d'options alors j'ai fais une colone pour tous.
mais tu veu dire quoi par "4 champs", une colone par options ??


Message édité par Big-Foot le 07-05-2003 à 22:29:32
n°386618
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:33:07  profilanswer
 

Big-Foot a écrit :

oui c'est du txt mais je sais pas combien il y aura d'options alors j'ai fais une colone pour tous.
mais tu veu dire quoi par "4 champs", une colone par options ??


 
bon, le but du jeu maintenant c'est d'apprendre comment ca marche, alors on garde ton unique champs option et quand tu auras compris le fonctionnement tu en rajouteras autant que tu veux
 
> pour info une "colonne" se nomme "champs" en langage bdd


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386622
the real m​oins moins
Posté le 07-05-2003 à 22:34:57  profilanswer
 

simogeo a écrit :


 
> pour info une "colonne" se nomme "champs" en langage bdd
 

sans s :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°386623
Big-Foot
Posté le 07-05-2003 à 22:35:42  profilanswer
 

ok explique... pourtant je croyais avoir utilisé un bon systeme...

n°386625
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:37:27  profilanswer
 


 
ouais m'enfin la  :heink:  c'est p'tet pô la peine de me compliquer la tâche m'sieur moins moins   :o


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386626
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:41:37  profilanswer
 

Big-Foot a écrit :

ok explique... pourtant je croyais avoir utilisé un bon systeme...


 
he big foot, je veux bien t'aider mais faut vraiment que t'y mettes du tien :/
 
s'il te manque trop de connasisances on peut repousser le tuto à plus tard....
 [:spamafote]  


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386629
Big-Foot
Posté le 07-05-2003 à 22:43:47  profilanswer
 

bon on peut deja commencer un peu maintenant (apres je vais  :sleep:  pask dmain faudra ce reveiller tôt)

n°386634
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 22:51:58  profilanswer
 

alors on va creer la classe votation
 
tu créer un fichier que tu nommes class.votation.php
 

Code :
  1. <?php
  2. class votation {
  3.     /**  
  4.     PROPRIETES DE LA CLASSE  
  5.     declaration des variables */
  6.     var $VOT_ID = "";
  7.     var $VOT_NAME = "";
  8.     var $VOT_OPTION = "";
  9.     var $VOT_RESULTS = "";
  10.     var $VOT_DATE = "";
  11.     var $VOT_EXPIREDATE = "";
  12.     var $VOT_NUM ="";
  13. }


Message édité par simogeo le 07-05-2003 à 22:53:44

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386639
Big-Foot
Posté le 07-05-2003 à 22:56:04  profilanswer
 

ok,  
pour les lettres en maj c'est obligé ou c'est une tradition ?

n°386642
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 23:00:22  profilanswer
 

Big-Foot a écrit :

ok,  
pour les lettres en maj c'est obligé ou c'est une tradition ?


 
tu fais comme tu veux
 
si tu établit la regle suivante tu sais reconnaitre la manipulation de variables et des PROPRIETES de la classe  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386647
Big-Foot
Posté le 07-05-2003 à 23:08:20  profilanswer
 

d'accord, continue
mais juste, la en poura plus selectionner un tableau de son choix ?

n°386658
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 23:14:19  profilanswer
 

Code :
  1. // il faut ajouter le nom de la table dans les proprietes  
  2. $VOT_TABLE = "votation;
  3.     /* AJOUT D'UN VOTE  
  4.        passage des parametres
  5.        $nom : nom du votant
  6.        $option : l'option du formulaire
  7.        $results : je sais pas ce que tu veux mettre la dedans
  8.        $objet_mysql : objet de connexion mysql
  9.     */
  10.     function AddVotation($nom, $option, $results , $objet_mysql )
  11.     {
  12.         if ($nom!= '') {
  13.             $this -> VOT_NAME= $nom;
  14.         }
  15.         if ($option!= '') {
  16.             $this -> VOT_OPTION = $option ;
  17.         }
  18.         if ($results != '') {
  19.             $this -> VOT_RESULTS= $results ;
  20.         }
  21.         $requete = "INSERT INTO " . $this -> VOT_TABLE . "(vot_name, option, results) " . "VALUES('" . $this -> VOT_NAME. "', '" . $this -> VOT_OPTION . "', '" . $this -> VOT_RESULTS. "', CURRENT_TIMESTAMP());";
  22.         $last_id = $objet_mysql -> DBInsert ($requete, 1);
  23.         return $last_id;
  24.     }


 
voila si je ne me suis pas gourré ca donne un truc comme ca  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386693
Big-Foot
Posté le 07-05-2003 à 23:41:12  profilanswer
 

ok merci j'avais pas pensé a faire aussi la creation du vote pour le moment... mais bon  :)  
 
alors je vais etudier ca et je vais refaire ma class en entier pour samedi (je vais essayer en tout cas).
 
pour ce qui est de $results, c'est le champ ou il devrait y avoir les resultats du vote.
 
si jamais : $VOT_TABLE = "votation;, c'est un chiffre transmit par le forumulaire qui est ensuite transformé en nom grace a un include et un array avec les noms de toutes les tables, et justement je le met ou le include ? dans la class ou en dehors ?
 
encore une question : la difference entre les variables du debut de la class("var..." ) et les "normal" (dans les fonction), c'est que celle du devut peuvent etre transmise entre les fonction, c'est bien ca ?

n°386704
simogeo
j'ai jamais tué de chats, ...
Posté le 07-05-2003 à 23:47:33  profilanswer
 

Big-Foot a écrit :


si jamais : $VOT_TABLE = "votation;, c'est un chiffre transmit par le forumulaire qui est ensuite transformé en nom grace a un include et un array avec les noms de toutes les tables, et justement je le met ou le include ? dans la class ou en dehors ?


 
 
en dehors, jsute avant la declaration de la classe
 
 

Big-Foot a écrit :


encore une question : la difference entre les variables du debut de la class("var..." ) et les "normal" (dans les fonction), c'est que celle du devut peuvent etre transmise entre les fonction, c'est bien ca ?


 
la difference c'est que les variables passées en parametres des methodes sont connues que de la methode. Les autres sont les attributs de la classe et sont donc connus de toutes
 
voilà, à plus mister  :hello:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°386719
Big-Foot
Posté le 07-05-2003 à 23:55:51  profilanswer
 

:hello:

n°389382
Big-Foot
Posté le 10-05-2003 à 21:23:46  profilanswer
 

bon alors desolé mais j'ai rien fait. j'ai vraiment pas le temps et en + il y a les exam bientot...
mais j'abondonne pas, je reviendrai sur ce topic le + vite possible  ;)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
PHP et WORd[PHP]Problème récuperation fichier uploadé:open_basedir restriction...
[PHP] Version a partir de laquelle est disponible une fonctionalité[PHP] include qui marche pas ?
[PHP] probleme avec des pseudo frames...PHP : XML parser : plante sur les accents !
[PHP/SQL] ORDER BY m'a tuer ...Utiliser un driver pour graveur ???
Entrée clavier avec PHP en ligne de commande ?Je cherche un assistant graphique qui génère du PHP .
Plus de sujets relatifs à : [PHP] utiliser beaucoup d'objets en php ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)