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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de requête SQL simple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de requête SQL simple

n°1968189
cyrildu07
Posté le 22-02-2010 à 15:50:19  profilanswer
 

Bonjour  
je bloque sur un problème bidon    mais que je ne comprend pas :pt1cable:,sous Acces cette requête fonctionne a la perfection .
 Voila je doit faire une requête mais celle ci ne fonctionne que ci j'enlève le max a partir du moment ou je met count ou max ou sum efin bref quelque chose devant elle ne renvoi rien  
 
 
dans l'état ci dessous elle me renvoie 2et 3 donc avec un MAX devant je devrai avoir que le 3
 
 
voici le code :
 
$sql = "SELECT (Noligne)  
FROM lignecde  
 where Nocde= $resultat; ";
  $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 while ($donnees = mysql_fetch_array($req) )
 {
  echo  $donnees['Noligne'];
 }

 
Pour information $resultat est une variable avec un nombre si je met directement le nombre ca ne marche pas mieux  
en espérant avoir été clair  
 
Merci  :jap:

mood
Publicité
Posté le 22-02-2010 à 15:50:19  profilanswer
 

n°1968194
skeye
Posté le 22-02-2010 à 15:55:59  profilanswer
 

Tu pourrais expliquer clairement ce que tu fais, le résultat/l'erreur obtenue, et ce que tu aimerais avoir?


---------------
Can't buy what I want because it's free -
n°1968198
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-02-2010 à 16:06:04  profilanswer
 

et euh... quand tu met ton Count ou ton Max, tu regroupes bien tous les champs du Select dans la clause Group By ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1968199
cyrildu07
Posté le 22-02-2010 à 16:07:34  profilanswer
 

c'est pour un site de e-commerce ...
et ben il s'agit d'une requête pour afficher les No de ligne (Noligne) qui ont pour No de commande (Nocde) '6'  
sans le max elle retourne plusieurs valeurs par exemple 3,4,5,6  
je but de cette requête est d'obtenir le Noligne maximum (soit 6) mais comme dit plus haut lorsque je met MAX la requte ne renvoit plus rien  
 
Il n'y pas d'erreur obtenue juste que la requête n'affiche rien

n°1968200
cyrildu07
Posté le 22-02-2010 à 16:09:19  profilanswer
 

Harkonnen a écrit :

et euh... quand tu met ton Count ou ton Max, tu regroupes bien tous les champs du Select dans la clause Group By ?


 
 
Il n'y a pas besoin de group by a partir du moment ou j'ai rien avant le MAX non  
le group by devrait etre dans le cas suivant :
 
select blabla,machin MAX (Noligne)
FROM lignecde
where Nocde = 6
group by blabla,machin;
 
ce qui n'est pas le cas dans ma requete .

n°1968201
skeye
Posté le 22-02-2010 à 16:10:21  profilanswer
 

cyrildu07 a écrit :

c'est pour un site de e-commerce ...


 
J'espère que c'est seulement un exercice de cours...[:pingouino]
 

cyrildu07 a écrit :

Il n'y pas d'erreur obtenue juste que la requête n'affiche rien


 
Montre ton code qui donne ce résultat.


---------------
Can't buy what I want because it's free -
n°1968203
casimimir
Posté le 22-02-2010 à 16:13:48  profilanswer
 

je ne fais pas de php, mais j'imagine que ton "echo  $donnees['Noligne'];" s'attend a ce que tu ais une colonne Noligne dans ton resultset, donc tu dois rajouter un "as Noligne" après ton "max(Noligne)"
 
le prochaine fois poste l'erreur avec

n°1968204
cyrildu07
Posté le 22-02-2010 à 16:14:14  profilanswer
 

oui oui c'est un TP le site d'e-commerce mais pourqoui lol ca te plait pas ma façon d'écrire   :D  
 
enfin bref voila le code qui donne rien comme resultat  
 
$sql = " SELECT MAX(Noligne)    
FROM lignecde  
 where Nocde= $resultat; ";  
  $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 while ($donnees = mysql_fetch_array($req) )  
 {  
  echo  $donnees['Noligne'];  
 }
 
Il y a juste le MAX en plus

n°1968208
cyrildu07
Posté le 22-02-2010 à 16:15:46  profilanswer
 

casimimir a écrit :

je ne fais pas de php, mais j'imagine que ton "echo  $donnees['Noligne'];" s'attend a ce que tu ais une colonne Noligne dans ton resultset, donc tu dois rajouter un "as Noligne" après ton "max(Noligne)"
 
le prochaine fois poste l'erreur avec


 
Je vais essayer mais justement il n'y a pas d'erreur  :non:

n°1968209
cyrildu07
Posté le 22-02-2010 à 16:18:23  profilanswer
 

Problème résolu et effectivement tout con il fallait mettre un AS Noligne apres mon select MAX(Noligne)
 
sinon pendant que j'y suis encore question très con mais bon  
 
pour le site si je fait une fiche produit je veut pas en faire autant que j'ai de produit ca prendrai trois plombe comment je doit faire pour pas avoir a faire une age différente pour chaque produit ??

mood
Publicité
Posté le 22-02-2010 à 16:18:23  profilanswer
 

n°1968211
skeye
Posté le 22-02-2010 à 16:19:28  profilanswer
 

cyrildu07 a écrit :

oui oui c'est un TP le site d'e-commerce mais pourqoui lol ca te plait pas ma façon d'écrire   :D  
 
enfin bref voila le code qui donne rien comme resultat  
 
$sql = " SELECT MAX(Noligne)    
FROM lignecde  
 where Nocde= $resultat; ";  
  $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 while ($donnees = mysql_fetch_array($req) )  
 {  
  echo  $donnees['Noligne'];  
 }
 
Il y a juste le MAX en plus


 
essaye de remplacer echo  $donnees['Noligne'];  par var_dump($donnees), pour voir...
 

cyrildu07 a écrit :

Je vais essayer mais justement il n'y a pas d'erreur  :non:


 
Ton serveur est-il au moins configuré pour afficher les erreurs?:o


---------------
Can't buy what I want because it's free -
n°1968212
skeye
Posté le 22-02-2010 à 16:20:21  profilanswer
 

cyrildu07 a écrit :

Problème résolu et effectivement tout con il fallait mettre un AS Noligne apres mon select MAX(Noligne)
 
sinon pendant que j'y suis encore question très con mais bon  
 
pour le site si je fait une fiche produit je veut pas en faire autant que j'ai de produit ca prendrai trois plombe comment je doit faire pour pas avoir a faire une age différente pour chaque produit ??


 
le principe du TP c'est pas de demander à des forums de faire le boulot à ta place. Réfléchis 3 secondes.


---------------
Can't buy what I want because it's free -
n°1968217
cyrildu07
Posté le 22-02-2010 à 16:31:59  profilanswer
 

non deja de une je demande juste ca  :sarcastic:  
 le TP est quasiment finit je vous ai pas demander de me  le faire a aucun moment j'ai toutes mes pages mais seulement j'en ai beaucoup trop pour les fiches produits  si je fait comme j'ai commencé ca me fera autant de page que de produit c'est pourquoi je demandait de l'aide de facon a avoir qu'une seule page qui m'affiche le produit sur lequel je clique je pensait avec include mais je sais pas  ;)
 
En tout cas merci d'avoir repondu  :jap:

Message cité 1 fois
Message édité par cyrildu07 le 22-02-2010 à 16:32:19
n°1968221
skeye
Posté le 22-02-2010 à 16:38:30  profilanswer
 

cyrildu07 a écrit :

non deja de une je demande juste ca  :sarcastic:  
 le TP est quasiment finit je vous ai pas demander de me  le faire a aucun moment j'ai toutes mes pages mais seulement j'en ai beaucoup trop pour les fiches produits  si je fait comme j'ai commencé ca me fera autant de page que de produit c'est pourquoi je demandait de l'aide de facon a avoir qu'une seule page qui m'affiche le produit sur lequel je clique je pensait avec include mais je sais pas  ;)
 
En tout cas merci d'avoir repondu  :jap:


 
Si tu as autant de pages que de produits il y a un gros soucis, effectivement.
Le but du jeu en php c'est de faire des pages web dynamiques et d'éviter ce genre de choses...regarde ce qu'on peut faire avec des formulaires et le passage de paramètres dans les urls.


---------------
Can't buy what I want because it's free -
n°1968224
cyrildu07
Posté le 22-02-2010 à 16:42:31  profilanswer
 

Oui en effet ce n'est pas le but du php de faire 50 pages  :sweat:  pour les formulaire je ne voit pas ce que tu veux dire
 
Après pour le passage de paramètre en paramètre tu veux dire que par exemple je mettrai la reference du produit sur lequel j'ai cliqué dns l'url pour le récupérer dans ma fiche produit et afficher mes infos a partir de ce passage dans l'URL  
 
Si j'ai bien compris sinon pour les includes faut bien s'en servir j'imagine  ;)

n°1968227
skeye
Posté le 22-02-2010 à 16:44:31  profilanswer
 

cyrildu07 a écrit :


Après pour le passage de paramètre en paramètre tu veux dire que par exemple je mettrai la reference du produit sur lequel j'ai cliqué dns l'url pour le récupérer dans ma fiche produit et afficher mes infos a partir de ce passage dans l'URL


 
voilà, c'est pas plus compliqué que ça...
 

cyrildu07 a écrit :

Si j'ai bien compris sinon pour les includes faut bien s'en servir j'imagine  ;)


ne serait-ce que pour factoriser un peu le code ça me parait indispensable...


---------------
Can't buy what I want because it's free -
n°1968230
cyrildu07
Posté le 22-02-2010 à 16:47:45  profilanswer
 

d'accord  ben en tout cas merci pour ton aide  :jap:  
c'était pas la peine de m'agresser  :D tu m'a pas fait tout mon TP et pourtant bien aidé  :wahoo:  
 
j'aurais eut être d'autres questions plus tard  :whistle:

n°1968393
cyrildu07
Posté le 23-02-2010 à 09:44:31  profilanswer
 

me revoilà avec un autre petit problème de requête encore  
 

Code :
  1. $sql1 = "SELECT desiprod FROM produit";
  2.  $req1 = ($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error());
  3.  while ($donnees5 = mysql_fetch_array($req1) )
  4. {
  5.  //$resultat5 =  $donnees5['desiprod']; //met bien mes champs en variable mais si je fait echo cette variable ca me renvoit qu'un seul champs
  6.  echo $donnees5['desiprod']; // renvoit bien tout mes champs  
  7. }
  8. //echo $resultat5; // c'est ce echo qui me renvoi qu'un seul champs

   
 
 
le résultat de cette requête me donne plusieurs désignation de produit donc fonctionne normalement  mais je veut mettre ce resultat dans une variable mais ca ne marche pas pour le faire ce bout de code devrait suffire:
 

Code :
  1. $resultat5 =  $donnees5['desiprod'];


 
ce qui devrait me mettre mes résultats dans la variable $resultat5
mais ça ne me renvoi qu'une seule valeur au lieu de plusieurs  
 
merci d'avance pour votre aide

n°1968399
cyrildu07
Posté le 23-02-2010 à 09:57:15  profilanswer
 

j'ai un peut avancer  j'ai maintenant tout mes resultats  
 
 
 

Code :
  1. $test = "SELECT desiprod FROM produit  ";
  2.  $test1 = mysql_query($test) or die('Erreur SQL !'.$test.'<br>'.mysql_error());
  3. while ($donnees1 = mysql_fetch_array($test1) )
  4. {
  5.  $result= $donnees1['desiprod'];  le résultat est mis dans la requête
  6.  echo $result;  //le echo m'affiche bien tout les résultats de ma requête  
  7. }


 
mais si je veux sortir le echo du while je n'ai plus qu'un seul  résultat

n°1968455
kao98
...
Posté le 23-02-2010 à 11:19:04  profilanswer
 

cyrildu07 a écrit :

j'ai un peut avancer  j'ai maintenant tout mes resultats  
 
 
 

Code :
  1. $test = "SELECT desiprod FROM produit  ";
  2.  $test1 = mysql_query($test) or die('Erreur SQL !'.$test.'<br>'.mysql_error());
  3. while ($donnees1 = mysql_fetch_array($test1) )
  4. {
  5.  $result= $donnees1['desiprod'];  le résultat est mis dans la requête
  6.  echo $result;  //le echo m'affiche bien tout les résultats de ma requête  
  7. }


 
mais si je veux sortir le echo du while je n'ai plus qu'un seul  résultat


J'arrive un peu comme un cheveux sur la soupe, j'ai pas lu l'ensemble de la conversation, mais cette dernière remarque me laisse penser qu'avant d'aller plus loin, tu devrais sérieusement revoir les concepts de base de la programmation, comme les structures de contrôles (les boucles notamment).


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1968481
skeye
Posté le 23-02-2010 à 12:05:04  profilanswer
 

Voilà, retourne lire tes cours.


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de requête SQL simple

 

Sujets relatifs
Problème site internet basiqueProbleme de connect
Problème Javascript/Ajax/PHPProbleme en php et snmp
requete httpservice et arraycollectionCode simple, optimisation possible?
Problème avec un tableaurequete HTTPService et fichier xml
[SQL]Problème requête simple: jointure externe[SQL/Access] problème pour une requête en apparence assez simple
Plus de sujets relatifs à : problème de requête SQL simple


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR