probleme de class

probleme de class - PHP - Programmation

Marsh Posté le 31-07-2006 à 13:56:15    

Bonjour,
j'ai ce petit script pour la pagination sur mon site:  

Code :
  1. <?php
  2. session_start();
  3. if(!isset($_SESSION['utilisateur']))
  4. {
  5. echo "<script language='javascript'>document.location='/fr/espace_membre.php?page=1&redir=9'</script>";
  6. }
  7. ?>


Code :
  1. <? echo "$meme[28]";?>


Code :
  1. <?php
  2. class news {
  3.   function Connexion($host,$user,$pass,$db) {
  4.     $mysql = mysql_connect($host, $user,$pass) or die('Erreur SQL : '.mysql_error());
  5.         mysql_select_db($db) or die('Erreur SQL : '.mysql_error());
  6.      
  7.   }
  8.   function SelectNews($nb,$sort,$order) {
  9.     if (!isset($_GET['num'])) { $_GET['num'] = 0; }
  10.  
  11.         $sql = "SELECT * FROM acheter WHERE numeroref='70525469' ";
  12.         $req = mysql_query($sql) or die('<center><div class="news-no">Erreur SQL : '.$sql.'<br />'.mysql_error().'</div></center>');
  13.         $max = mysql_num_rows($req);
  14.              
  15.       $sql = "SELECT * FROM acheter  WHERE numeroref='70525469'  ORDER BY '.$sort.' '.$order.' LIMIT ".$_GET['num'].','.$nb;
  16.           $req = mysql_query($sql) or die('<center><div class="news-no">Erreur SQL : '.$sql.'<br />'.mysql_error().'</div></center>');
  17.          
  18.           while ($res = mysql_fetch_object($req)) {
  19.        
  20.           echo'<table width="669" border="0">
  21.   <tr><td width="311"><b><span style="font-size:12pt;">R&#233;f annonce </span></b></td>
  22. <td width="348"><i><span style="font-size:12pt;"></span></i><span style="font-size:12pt;">'.$res->refacheter.'</span></td></tr>
  23. <tr><td width="311"><b><span style="font-size:12pt;">Date de cette annonce </span></b></td>
  24. <td width="348"><i><span style="font-size:12pt;"></span></i><span style="font-size:12pt;">'.$res->numeroref.'</span></td>
  25. </tr></table>
  26. <p align="center"><a href="http://www.interbizcenter.com/fr/rmac/rmac.php?refacheter='.$res->refacheter.'"><span style="font-size:12pt;">Retirer votre annonce</span></a></p>
  27. ';        }
  28.          echo '<div align="center"><span class="gras">Pages : '.Pagination($max,$nb,$_GET['num'],'6').'</span><br />
  29.   <br /></div>';
  30.           mysql_free_result($req);
  31.         } }
  32. ?>


dans le deuxieme partie en php cela affiche la valeur de la variable $numeroref via:<? echo "$meme[28]";?>.Cela m'affiche:"70525469"
qui se trouve dans la table qui s'appelle fournisseur.
 
dans la troisieme partie en php, j'ai mis la valeur "70525469" a la variable
$numeroref pour se connecter à la table "acheter"($numeroref se trouve dans les 2 tables)
Je voudrais savoir comment faire si je veux remplacer la valeur"70525469" par $numeroref?
j'ai essayé:  

Code :
  1. $sql = "SELECT * FROM acheter WHERE numeroref='$numeroref' ";
  2. $req = mysql_query($sql) or die('<center><div class="news-no">Erreur SQL : '.$sql.'<br />'.mysql_error().'</div></center>');
  3. $max = mysql_num_rows($req);
  4. $sql = "SELECT * FROM acheter WHERE numeroref='$numeroref' ORDER BY '.$sort.' '.$order.' LIMIT ".$_GET['num'].','.$nb;


Mais rien ne s'affiche
Merci de votre futur aide en espérant que vous avez bien compris.

Reply

Marsh Posté le 31-07-2006 à 13:56:15   

Reply

Marsh Posté le 31-07-2006 à 14:15:07    

faudrait passer la propriété à ton "objet"
 
à mon avis tu devrais utiliser des fonctions plutôt que des classes ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 31-07-2006 à 14:21:36    

Sh@rdar a écrit :

faudrait passer la propriété à ton "objet"
 
à mon avis tu devrais utiliser des fonctions plutôt que des classes ;)


Bonjour,
est-ce que quelqu'un aurait une solution
Merci d'avance

Reply

Marsh Posté le 31-07-2006 à 14:22:41    

la solution est là http://fr.php.net/class
 
si tu ne sais pas utiliser un objet, utilise une fonction


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 31-07-2006 à 14:38:55    

elle sort d'ou $meme[28]???

Reply

Marsh Posté le 31-07-2006 à 14:43:55    

lorsque qu'un utilisateur se connecte il y a une session d'ouverte.
par exemple si on ecrit sur une des pages ou l'utilisateur est logué:
 

Code :
  1. <? echo "$meme[28]";?>


 
cela affiche"70525469"
$meme[28] correspond au 28ieme champs dans la table fournisseur.
le 28ieme champs est :$numeroref
La jointure est $numeroref qui se trouve dans les tables fournisseur et acheter.
Je veux donc que cela affiche toutes les infos qui ont comme point commun $numeroref.
Par exemple ici cela va chercher dans la table acheter toutes les infos qui ont 70525469 comme $numeroref.

Reply

Marsh Posté le 31-07-2006 à 14:47:45    

euh ... Kamoulox ???
Reformulation:
A quel endroit est "remplie" $meme? ( le 1er qui dit à l'hospice ...)
Dans le code que tu donnes on ne voit pas son initialisation!
 
Ensuite où/comment est créé l'objet "news"? Où fais tu "new news"? ( le 1er qui dit comme l'actrice ...)

Reply

Marsh Posté le 31-07-2006 à 14:53:25    

lucaskevin > je parle sérieusement
 
arrête l'objet t'es à coté de la plaque là
 
tu maitrise pas du tout la logique du bousin, ton site va être un vrai gruyère et fonctionnera qu'à moitié, tu risque plus de problèmes qu'autre chose
 


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 31-07-2006 à 14:55:59    

le $meme est crée dans la page pour se logué

Code :
  1. <?php
  2. if(isset($utilisateur) & !empty($utilisateur) & isset($motdepasse) & !empty($motdepasse))
  3. {
  4. $utilisateur=$_POST[utilisateur];
  5. $motdepasse=$_POST[motdepasse];
  6. connecter();
  7. $query="SELECT * FROM `fournisseur` WHERE `utilisateur` = '".$utilisateur."' and `motdepasse` = '".$motdepasse."'";
  8. $result=@mysql_query($query);
  9. $num=@mysql_num_rows($result);
  10. $row=@mysql_fetch_row($result);
  11. if($num==0){
  12.   echo "<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
  13. }else{
  14. //connexion ?ablie
  15. $email = $row[3];
  16. $numeroref= $row[28];
  17. $meme = $row;
  18.  session_start();
  19. //-----------------VERSION 1.1-----------------
  20. $_SESSION['utilisateur']=$utilisateur;
  21. $_SESSION['email']=$email;
  22. $_SESSION['meme']=$meme;
  23. $_SESSION['numeroref']=$numeroref;
  24. //---------------------------------------------
  25. echo "<script language='javascript'>document.location='espace_membre.php?page=$redir&ref=$ref&refacheter=$refacheter&refannonce=$refannonce'</script>";
  26. }
  27. }
  28. ?>

Reply

Marsh Posté le 31-07-2006 à 14:56:15    

Sh@rdar> entièrement d'accord avec toi hein! Mais je mettrais ma main a coupé que ce n'est pas lui qui a écrit le code ( je n'imagine pas ça possible). AMHA il cherche a reprendre quelque chose qui "existait"

Reply

Marsh Posté le 31-07-2006 à 14:56:15   

Reply

Marsh Posté le 31-07-2006 à 15:00:04    

non à mon avis c'est de lui ;)
 
mais va-t'il comprendre dans quoi il s'embarque ?
 
PS : faut tester le site ça vaut le détour :)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 31-07-2006 à 15:07:56    

j'avais pas cerné l'ampleur des dégats..
 
http://forum.hardware.fr/hardwaref [...] skevin.htm
 
kevin > arrête ton truc tout de suite, y'a pas de honte à pas savoir faire telle ou telle chose, là c'est clairement au dessus de tes compétences

Message cité 1 fois
Message édité par Sh@rdar le 31-07-2006 à 15:08:09

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 31-07-2006 à 16:12:59    

Sh@rdar a écrit :

y'a pas de honte à pas savoir faire telle ou telle chose, là c'est clairement au dessus de tes compétences


 
honnetement oui :D
il m a fallu des annees avant d ecrire mes propres lignes de php et de comprendre ce qu etait un objet
et c est super dur de trouver de bons tutos parce que la plupart s adressent a des gens qui s y connaissent deja en poo
j ai essayé des cours de c# je comprenais rien et meme beaucoup de cours pour l objet en php sont axés initiés
ce tuto est vraiment genial simple a comprendre toussa
j ai reussi a ecrire des classes super puissantes grace a cet article  
(ok ..deux :D )
http://phpdebutant.org/article42.php

Reply

Marsh Posté le 31-07-2006 à 16:17:16    

mIRROR a écrit :

..
j ai reussi a ecrire des classes super puissantes grace a cet article  
(ok ..deux :D )
http://phpdebutant.org/article42.php


Merci bien.. je vais en profiter pour tenter de me replonger dans l'objet... aillant déjà fait un peu de C++... (un peu hein) j'espére ne pas avoir trop de mal... (s'pas gagné.. j'ais déjà du mal avec le JS... :sarcastic: )

Reply

Marsh Posté le 31-07-2006 à 16:31:58    

mon peu de c# c etait environ 3heures :D
mais je n y comprenais absolument rien ... avant j avais fait un programme en basic quand j etais au cm2 et un autre sur ma calculatrice (en pascal [:petrus dei] ) pis la c etait vraiment trop dur pour moi
 
et pour le js quand je vois le topic d hermes sur son gestionnaire d images je me dis que j ai surement sous estimé ce "langage" ^^
je crois que ce qui me fait chier c est ce coté de classes standard comme en java
y a une sorte de pack que je sais pas ou trouver (genre math) mais on doit faire toutes nos fonctions a partir de ca c est vraiment casse youk :/
 
(ok j ai un peu bu mais au moins je suis franc :D )
 
enfin bon  
les classes de php sont quand meme super puissantes, mais avant de s y plonger tete baissée il faut lire un max  
tester tester tester
lire encore et un petite couche de tests en deca
la on dirait juste que le kevin a modifié une classe db sans avoir aucune notion d objet
ca se fait pas comme ca quoi :/
surtout en autodidacte c est encore plus difficile
mais je suis pret a t aider vu comment j ai galéré :D

Reply

Marsh Posté le 31-07-2006 à 16:46:13    

mIRROR a écrit :

..
mais je suis pret a t aider vu comment j ai galéré :D


 
Fais gaffe je vais te prendre au mot :D
 
sinon c'est vrai que JS à l'air puissant, mais ça me casse les pieds d'apprendre les propriétés des objets ... (en fait suis un peu réfractaire à l'objet.. donc en partant d'un langage que j'aime bien, php, j'espére m'y mettre)

Reply

Marsh Posté le 31-07-2006 à 17:02:49    

mIRROR a écrit :

et pour le js quand je vois le topic d hermes sur son gestionnaire d images je me dis que j ai surement sous estimé ce "langage" ^^
je crois que ce qui me fait chier c est ce coté de classes standard comme en java
y a une sorte de pack que je sais pas ou trouver (genre math) mais on doit faire toutes nos fonctions a partir de ca c est vraiment casse youk :/


[:aloy] Y'a pas de classes et/ou d'objet dans le truc d'Hermes hein ( ce qui ne diminue en rien la qualité de son travail mais faut pas tout mélanger ;) )
Pour ton problème de "classes standard", à part Math effectivement je vois pas trop où est le soucis.
Et puis l'oo en js c'est pas vraiment de l'oo par classes, mais de l'oo par prototype.
 

chani_t a écrit :

c'est vrai que JS à l'air puissant, mais ça me casse les pieds d'apprendre les propriétés des objets ... (en fait suis un peu réfractaire à l'objet.. donc en partant d'un langage que j'aime bien, php, j'espére m'y mettre)


Tu confondrais pas les objets "globaux" du langage genre Array, avec ceux que tu peux créer???
Un conseil néanmoins, si tu dois te mettre à l'objet en PHP, fais le au moins en PHP5...

Reply

Marsh Posté le 31-07-2006 à 17:05:41    

anapajari a écrit :

[:aloy]...
Tu confondrais pas les objets "globaux" du langage genre Array, avec ceux que tu peux créer???
Un conseil néanmoins, si tu dois te mettre à l'objet en PHP, fais le au moins en PHP5...


 
A honnétement je ne sais pas si je confond quoi que ce soit... le JS et moi c'est une longue histoire qui n'a jamais aboutie :D...
Ceci dit.. je prend note de ton conseil... PHP5 ;)

Reply

Marsh Posté le 31-07-2006 à 17:16:35    

@chani_t : n hesite pas ma boite personnelle t es ouverte ;)
 
@anapajari :
vraiment je suis désolé mais quand je vois  
if ( getElementById ) je peux pas m empecher de penser que je parle a un langage cretin
ce que j appelle classe standard c est document.blabla window.blabla
ces objets n ont jamais été créés ... du moins par mon propre vouloir mais ils sont presents et ca me destabilise enormement ....

Reply

Marsh Posté le 31-07-2006 à 17:26:21    

mIRROR a écrit :

@anapajari :
vraiment je suis désolé mais quand je vois  
if ( getElementById ) je peux pas m empecher de penser que je parle a un langage cretin
ce que j appelle classe standard c est document.blabla window.blabla
ces objets n ont jamais été créés ... du moins par mon propre vouloir mais ils sont presents et ca me destabilise enormement ....


getElementById c'est du DOM hein  :sweat:  
Tu retrouves exactement la même fonction dans plein de langages ( exemple en  php )
Pis en php aussi t'as des objets que tu n'as pas créés, genre les tableaux $_GET/POST, et ça te gène pas :o


Message édité par anapajari le 31-07-2006 à 17:26:52
Reply

Marsh Posté le 31-07-2006 à 17:28:29    

mIRROR a écrit :


@anapajari :
vraiment je suis désolé mais quand je vois  
if ( getElementById ) je peux pas m empecher de penser que je parle a un langage cretin
ce que j appelle classe standard c est document.blabla window.blabla
ces objets n ont jamais été créés ... du moins par mon propre vouloir mais ils sont presents et ca me destabilise enormement ....


Tu connais beaucoup de langages objets qui n'ont aucun objet prédéfini?

Reply

Marsh Posté le 31-07-2006 à 17:38:59    

bah je suis désolé mais $_method pour moi c est des tableaux...pas des objets :/
et oui je sais faire (quand meme :sweat: ) la difference entre du js et du dom :/
 
sinon merci anapajari je connaissais pas cette fonction
j etudie et je reviens plus tard mais merci :)

Reply

Marsh Posté le 31-07-2006 à 19:05:32    

mIRROR a écrit :

bah je suis désolé mais $_method pour moi c est des tableaux...pas des objets :/
et oui je sais faire (quand meme :sweat: ) la difference entre du js et du dom :/
 
sinon merci anapajari je connaissais pas cette fonction
j etudie et je reviens plus tard mais merci :)


Cours de rattrapage:  
1. Définir un objet. Justifier en quoi un tableaux n'est pas un objet.
2. Expliquer pourquoi cette phrase "je sais faire (quand meme :sweat: ) la difference entre du js et du dom" est un non-sens.

Reply

Marsh Posté le 31-07-2006 à 19:31:54    

bah en php un tableau c est un tableau stou :/
et un objet un objet  
un tableau c  est juste un type de variable "classique"
alors que l objet est un type completement different
c est a toi de le definir !
compare en java bordel :/
 
le dom et le js sont deux choses differentes
js peut etre completement dom-absurd

Reply

Marsh Posté le 31-07-2006 à 19:51:25    

Reply

Marsh Posté le 31-07-2006 à 21:27:50    


 
pourquoi ? :D

Reply

Marsh Posté le 31-07-2006 à 23:51:39    

Pour l'objet tout d'abord. Un objet, ce n'est pas spécialment à toi le définir. Tu peux en créer de nouveaux types, mais le langage t'en fournit déjà un certain nombre. Ensuite, vient à savoir ce que l'on appelle un objet, généralement, c'est un ensemble de membres et de méthodes. Or, en php, un tableau, qui est en réalité une map, peut très bien être catégorisé de la sorte en tant qu'objet. Son pointeur interne pour les itérations pouvant être considéré comme un membre privé. La syntaxe comme argumentation n'est pas valable non plus pour faire une différentiation entre "objet" et type de base, de nombreux langage introduisent des syntactic sugar pour "aider" le développeur à son adoption. Pour ce qui est de la comparaison avec java, justement, le tableau classique de java ne permet pas d'appeler un itérateur dessus, contrairement au tableau de php.
Maintenant, il est vrai que, d'un point de vu implémentation, le tableau php n'est pas traiter de la même manière que les autres objets, mais cela pourrait très bien être modifié dans le moteur sans que tu t'en appercoives.
 
Pour ce qui est de DOM/javascript. DOM n'est rien d'autre qu'une spec pour la représentation de donnés hièrarchiques et leur consultation/modification. Les implémentation d'EcmaScript des navigateurs actuels implémentent tous complèment ou partiellement cette spec, et fournissent donc les prototypes objets nécessaires à ce traitement. Dire que l'on fait la différence entre une spec de modèle et un spec de langage est aussi intéressant que d'additionner des pommes et des poires, ce sont deux concepts orthogonaux.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed