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

  FORUM HardWare.fr
  Programmation
  PHP

  Sql - newbie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sql - newbie

n°1064263
ace2097
Posté le 28-04-2005 à 14:18:26  profilanswer
 

Bonjour,
alors le but de ma requete est de selectionner mon PARENT_ID maximum (un entier auto incrémentiel) et de le mettre en référence maxi dans ma boucle for.
Alors j'avais déjà testé avec succès avec un classique :

Code :
  1. for ($i=1; $i <= mysql_num_rows($res); $i++) {


Mais certaines valeurs sont ammenées à disparaitre de ma table....
il y a un truc que je dois sûrement pas bien capter (newbie aidant)...
Symptome : boucle infinie !
Solution : mauvaise requete? mysql_fetch_assoc pas bon?
 
Le code:
 
 

Code :
  1. $req = "SELECT MAX(PARENT_ID) FROM `news` WHERE`PARENT_ID` != 0";
  2. $res = mysql_db_query ("database", $req, $dbConn);
  3. $result = mysql_fetch_assoc($res);
  4. for ($i=1; $result; $i++) { blbalbalblabla.....


 
 
merci d'avance

mood
Publicité
Posté le 28-04-2005 à 14:18:26  profilanswer
 

n°1064275
sircam
I Like Trains
Posté le 28-04-2005 à 14:28:04  profilanswer
 

Ta condition d'arrêt de ta boucle est "$result". A moins que cette valeur ne change à l'intérieur de la boucle, la valeur de cette expression sera toujours la même...


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1064304
jeff@be
Posté le 28-04-2005 à 14:42:37  profilanswer
 

Code :
  1. list($max_id) = mysql_fetch_row(mysql_db_query("database", "SELECT MAX(PARENT_ID) FROM `news` WHERE`PARENT_ID` != 0", $dbConn));
  2. for ($i=1; $i <= $max_id; $i++) {
  3.      ...instructions...
  4. }

n°1064321
ace2097
Posté le 28-04-2005 à 14:51:52  profilanswer
 

je vais tester ça merci beaucoup!

n°1064396
ace2097
Posté le 28-04-2005 à 15:33:10  profilanswer
 

Me revoilà, alors j'ai suivi les conseils de  Jeff@be, merci encore et j'ai pondu ceci :
 

Code :
  1. list($max_id) = mysql_fetch_row(mysql_db_query("database", "SELECT MAX(PARENT_ID) FROM `news` WHERE`PARENT_ID` != 0", $dbConn));
  2. list($min_id) = mysql_fetch_row(mysql_db_query("database", "SELECT MIN(PARENT_ID) FROM `news` WHERE`PARENT_ID` != 0", $dbConn));
  3.    
  4.     for ($min_id; $i <= $max_id; $i++) {


 
Alors mon problème cette fois ci est que la boucle for parcourt le tableau de la valeur MIN à la valeur MAX excepté le 0, et ayant pour incrément non pas ++ mais... la valeur suivante du tableau.
Des idées? :??:  

n°1064421
sircam
I Like Trains
Posté le 28-04-2005 à 15:42:47  profilanswer
 

Relis correctement ce que Jeff te propose et essaye de comprendre ce que tu fais.
 
Comprends-tu la signification des 3 branches du "for" ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1064425
ace2097
Posté le 28-04-2005 à 15:44:49  profilanswer
 

je pense, la premiere pour la valeur minimale, la seconde pour le maxi, et la 3e pour l'increment.
Or déjà je viens de voir que j'ai laissé une faute dans le code que je viens de coller sur le forum. :) oups

n°1064427
jeff@be
Posté le 28-04-2005 à 15:46:34  profilanswer
 

Bon, si je comprends bien, pour chacun de tes "parent_id", tu veux provoquer une action... alors voilà
 

Code :
  1. $res = mysql_db_query("database", "SELECT PARENT_ID FROM `news` WHERE `PARENT_ID` != 0 ORDER BY `PARENT_ID`", $dbConn);
  2. while (list($parent_id) = mysql_fetch_row($res)) {
  3.     ... instructions ...
  4. }


 
Bien que ça m'a l'air trop simple pour que ça t'ait causé des problème, donc je doute avoir vraiment compris ce dont tu as besoin.


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

  Sql - newbie

 

Sujets relatifs
ADDITION ET SOUSTRACTION DE DATE EN SQL[SQL server 2000] data sur plusieurs partitions
IF dans Requête SQLConnexion à SQL server par Visual C++
[C++/ODBC/SQL] Spécialiste du RecordSet needed ![newbie] Cretation table SQL ?
SQL count(*) [newbie inside]aide newbie SQL
gros newbie en SQLVB + SQL newbie .... tutoriaux + ch'tite question facile
Plus de sujets relatifs à : Sql - newbie


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