Résultat dernier resultat d'un enregistrement

WRInaute occasionnel
Bonjour,
j'aurais voulu savoir comment obtenir le dernier enregsitrement en faisant un mysql fetch row.

C'est à dire que j'ai des clients qui peuvent avoir 5 cotisations à payer comme 26 cotisations.
Pour chaque client, j'ai besoin de connaître la derniere ligne de l'enregistrement.

Sachant que ma requete de départ est

Code:
SELECT * FROM COTISATION WHERE num_cli = blabla

Je pars ensuite avec ça

Code:
while(($resultCotisation=mysql_fetch_row($req_cotisation))!=NULL)

Merci d'avance

ps : je ne veux pas d'un max dans ma requete vu que j'ai besoin quand même de tout mes enregistrements.
 
WRInaute discret
C'est un problème de programmation "classique", pas un problème de PHP/MySQL.

En l'occurrence, dans ta boucle, il suffit de faire une copie de $row dans, par exemple, $oldrow. Une fois sorti de ta boucle, tu as $oldrow qui contient ton dernier enregistrement.
 
WRInaute occasionnel
Bh@Mp0 a dit:
C'est un problème de programmation "classique", pas un problème de PHP/MySQL.

En l'occurrence, dans ta boucle, il suffit de faire une copie de $row dans, par exemple, $oldrow. Une fois sorti de ta boucle, tu as $oldrow qui contient ton dernier enregistrement.

ça fonctionne N-I-K-E-L ! par contre comment tu fais pour recupérer l'avant dernier maintenant :oops:
 
WRInaute discret
jiojioforever a dit:
Bh@Mp0 a dit:
C'est un problème de programmation "classique", pas un problème de PHP/MySQL.

En l'occurrence, dans ta boucle, il suffit de faire une copie de $row dans, par exemple, $oldrow. Une fois sorti de ta boucle, tu as $oldrow qui contient ton dernier enregistrement.

ça fonctionne N-I-K-E-L ! par contre comment tu fais pour recupérer l'avant dernier maintenant :oops:
Rah mais t'en fais exprès ?

Dans ta boucle, avant la redéfinition de ton $oldrow, tu copies $oldrow dans un $oldoldrow, et, à la sortie de la boucle, t'auras ton dernier dans $oldrow et l'avant-dernier dans $oldoldrow ...
 
WRInaute occasionnel
bah nan ? :oops: oldrow aura la même valeur que oldoldrow à la sortie si tu lui attribue la valeur de oldrow justement

Code:
while(($resultCotisation=mysql_fetch_row($req_cotisation))!=NULL)
	          {   	
				$oldrow = $resultCotisation[2]; // dernier cotisation (servira pour savoir si date = 0000-00-00)
				 if ($oldrow <> '0000-00-00')
				    {		   
					      
					// Si date DE < année cotisation ET année cotisation = année choisie 
						if ($annee_DE < (substr($resultCotisation[2],0,4)) AND (substr($resultCotisation[2],0,4)== $annee))
							{ 		
										switch ($nb_mois_periodicite)
									 {
									     case 12: //ANNUELLE
                                              for($i=0; $i<30 ; $i++) 
                                                       {
								                         paiement3();	   			 
										                }  
                                             break;
									     case 6: // SEMESTRIELLE
							                 for($i=6; $i<13 ; $i+=6) 
                                                 {
											        for($k=0; $k<30 ; $k++) 
													     {
								                         paiement3bis();
										                 }	
													}	
											 break;
						   		        case 4: // TRIMESTRIELLE
									          for($i=4; $i<13 ; $i+=4) 
                                                  {
									    		   for($k=0; $k<30 ; $k++) 
													     {
								                             paiement3bis();
													      }	   			 
										            }		
											 break;
									   case 1:// MENSUELLE
									          for($k=0; $k<30 ; $k++)
                                               {
										          for($i=12; $i<13 ; $i++) 
													    {
								                            paiement3bis();
									                    }    	   			 
										        }	
											break;
									  }
			                }		  						
			           }
					}
 
WRInaute occasionnel
hum nan ça refait de manip ensuite pour sortir les résultats :s j'ai pigé le systéme de Bh@Mp0
donc ça roule pour le moment ;) !
 
Nouveau WRInaute
Ok, des manips assez simple car si tu met sa ds ta boucle while, $i est ton dernier resultat, $i-1 l avant dernier, etc..

++
 
WRInaute occasionnel
ouep mais comme je le disais plus haut ma requete de base est

SELECT * FROM COTISATION

je fais des manips avec les autres résultats.

En gros je faisais 4 requetes sur la table COTISATION alors que je pouvais en faire une seul et ensuite gérer avec des astuces donc voilou ^^

Mysqk faisait la gueule quand j'avais 5 requetes par client sachant que j'ai 230 clients...
mais bon ça rame encore donc ce n'est que le début
 
Discussions similaires
Haut