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

  FORUM HardWare.fr
  Programmation
  PHP

  Requête sql sous php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête sql sous php

n°1429323
Balflear
Posté le 22-08-2006 à 14:12:26  profilanswer
 

Je tente d'effectuer la requête suivante:
 

Code :
  1. for($i = 0; $i <= ($indice); $i++) {
  2. $sql = 'SELECT `id_rub`,`titre`  FROM `rubriques` WHERE `id_parent` = '.'$rub_niv1[$indice]-> rub_id';
  3. }


 
Mon navigateur me retourne une erreur de syntaxe près de '[$indice]-> rub_id'.
En fait, $rub_niv1[] est un tableau contenant des instances d'une classe. Je rentre donc un indice dans ce tableau et accède à la propriété 'rub_id' pour la comparer avec 'id_parent' de la bdd.
 
Si vous pouviez m'éclairer sur l'erreur que j'ai commis, ça me débloquerait.
 
Merci ;)

mood
Publicité
Posté le 22-08-2006 à 14:12:26  profilanswer
 

n°1429354
jbourdello​n
Posté le 22-08-2006 à 14:34:18  profilanswer
 

Code :
  1. $sql = 'SELECT `id_rub`,`titre`  FROM `rubriques` WHERE `id_parent` = '.$rub_niv1[$indice]-> rub_id;

Message cité 1 fois
Message édité par jbourdellon le 22-08-2006 à 14:34:48
n°1429356
soju
One shot !
Posté le 22-08-2006 à 14:34:58  profilanswer
 

et si tu enlevais les guillemets ?

Code :
  1. $sql = 'SELECT `id_rub`,`titre`  FROM `rubriques` WHERE `id_parent` = '.$rub_niv1[$indice]->rub_id;


et quel est l'interet de la boucle ??

n°1429380
Balflear
Posté le 22-08-2006 à 14:52:26  profilanswer
 

jbourdellon a écrit :

Code :
  1. $sql = 'SELECT `id_rub`,`titre`  FROM `rubriques` WHERE `id_parent` = '.$rub_niv1[$indice]-> rub_id;



J'avais en effet utilisé cette syntaxe, mais il m'indique une erreur similaire:
Erreur de syntaxe près de ''
C'est d'ailleurs pour cela que je ne comprenais, car ma syntaxe semblait correcte :sweat:

n°1429391
Balflear
Posté le 22-08-2006 à 14:58:24  profilanswer
 

soju a écrit :

et si tu enlevais les guillemets ?

Code :
  1. $sql = 'SELECT `id_rub`,`titre`  FROM `rubriques` WHERE `id_parent` = '.$rub_niv1[$indice]->rub_id;


et quel est l'interet de la boucle ??


J'ai pas mis tout le code ^^
 

Code :
  1. for($i = 0; $i <= $indice; $i++) {
  2. $sql = 'SELECT `id_rub`,`titre`  FROM `rubriques` WHERE `id_parent` ='.$rub_niv1[$indice]-> rub_id;
  3. $req = mysql_query($sql) or die('Erreur SQL 2 !<br>'.$sql.'<br>'.mysql_error());
  4. $jindice=0;
  5. while ($data = mysql_fetch_assoc($req)) {
  6. $name = $data['titre'];
  7. $id = $data['id_rub'];
  8. $link = $url.$data['id_rub'];
  9. $rub_niv1[$indice].add_child($jindice,new Rubrique($name,$link,$id));
  10. $jindice++;
  11. }
  12. }

n°1429392
skeye
Posté le 22-08-2006 à 14:59:06  profilanswer
 

espace entre $rub_niv1[$indice]-> et rub_id;

n°1429536
Balflear
Posté le 22-08-2006 à 17:25:24  profilanswer
 

skeye a écrit :

espace entre $rub_niv1[$indice]-> et rub_id;


Ca n'a pas d'incidence ;)

n°1429555
jbourdello​n
Posté le 22-08-2006 à 17:46:39  profilanswer
 

donne voir le format de ton $rub_niv1 ?

n°1429656
leflos5
On est ou on est pas :)
Posté le 22-08-2006 à 21:07:46  profilanswer
 

Si id_parent est de type texte et pas un numérique c'est peut être normal et il manquerait juste des " :)

n°1429671
couak
Posté le 22-08-2006 à 22:15:11  profilanswer
 

ne serait-ce pas mieux de faire une seule requête et de récupérer tous les résultats dans une boucle, plutôt que de faire X requêtes ?
 
regarde du côté de la syntaxe

Code :
  1. SELECT id_rub,titre FROM rubriques WHERE id_parent IN (valeur1, valeur2, valeur3, ...);

mood
Publicité
Posté le 22-08-2006 à 22:15:11  profilanswer
 

n°1429682
leflos5
On est ou on est pas :)
Posté le 22-08-2006 à 22:36:29  profilanswer
 

couak a écrit :

ne serait-ce pas mieux de faire une seule requête et de récupérer tous les résultats dans une boucle, plutôt que de faire X requêtes ?
 
regarde du côté de la syntaxe

Code :
  1. SELECT id_rub,titre FROM rubriques WHERE id_parent IN (valeur1, valeur2, valeur3, ...);



Même un BETWEEN si mysql :)

n°1429773
Balflear
Posté le 23-08-2006 à 09:22:45  profilanswer
 

jbourdellon a écrit :

donne voir le format de ton $rub_niv1 ?


 

Code :
  1. class Rubrique
  2. {
  3. var $rub_name = "";
  4. var $rub_link = "";
  5. var $rub_id = 0;
  6. var $nb_children = 0;
  7. var $tab_children = Array();
  8. function Rubrique( $name, $link, $id )
  9. {
  10.  $this->rub_name = $name;
  11.  $this->rub_link = $link;
  12.  $this->rub_id = $id;
  13. }
  14. function add_child( $indice, $new_child )
  15. {
  16.  $this->tab_children[$indice] = $new_child;
  17.  $this->nb_children ++;
  18. }
  19. function __clone () {
  20.  $this->rub_name = $that->rub_name ;
  21.  $this->rub_link = $that->rub_link;
  22.  $this->rub_id = $that->rub_id;
  23.  $this->nb_children = $that->rub_id;
  24.  $this->tab_children = $that->tab_children;
  25. }
  26. }


 

couak a écrit :

ne serait-ce pas mieux de faire une seule requête et de récupérer tous les résultats dans une boucle, plutôt que de faire X requêtes ?
 
regarde du côté de la syntaxe

Code :
  1. SELECT id_rub,titre FROM rubriques WHERE id_parent IN (valeur1, valeur2, valeur3, ...);



Le problème étant que je réalise justement X requêtes, parceque chaque résultat renvoie des données qui doivent être attribuées à une rubrique précise ;)
Du coup, même le IN et BETWEEN ne pourront être utilisés, puisque la requête ne concerne qu'une valeur précise à la fois de id_parent.


Message édité par Balflear le 23-08-2006 à 09:37:43

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Requête sql sous php

 

Sujets relatifs
Requete SQL[resolu]comment couper une ligne de requete proprement?
Afficher le résultat de ma requete VBA (noob)pb requête update Access avec equi-jointure de table
quotes dans requête pose problème[MySql] : requete de premier elettres d'un clonne
Outils pour connaitre la quantité de donnée par requete SQL[PHP] Array dans une requète SQL
petit soucis requete sql sur deux table ( order spécial :) )premiière requête sql sous access
Plus de sujets relatifs à : Requête sql sous php


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