Résultat dernier resultat d'un enregistrement
17 messages
• Page 1 sur 2 • 1, 2
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
Résultat dernier resultat d'un enregistrement
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
Je pars ensuite avec ça
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.
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: Tout sélectionner
SELECT * FROM COTISATION WHERE num_cli = blabla
Je pars ensuite avec ça
- Code: Tout sélectionner
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.
-

Bh@Mp0 - WRInaute discret

- Messages: 245
- Inscription: 18 Jan 2005
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.
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.
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
yep pas bête en sortant de la boucle j'aurais le dernier enregistrement.
Je vais tester
Je vais tester
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
parce que c'est juste pour ce test là...aprés j'ai besoin de tout pour les autres tests.
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
Bh@Mp0 a écrit: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
-

Bh@Mp0 - WRInaute discret

- Messages: 245
- Inscription: 18 Jan 2005
jiojioforever a écrit:Bh@Mp0 a écrit: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
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 ...
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
bah nan ?
oldrow aura la même valeur que oldoldrow à la sortie si tu lui attribue la valeur de oldrow justement
- Code: Tout sélectionner
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;
}
}
}
}
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
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
!
donc ça roule pour le moment
- jiojioforever
- WRInaute impliqué

- Messages: 523
- Inscription: 23 Nov 2006
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
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
17 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
Consultez la description détaillée des produits ou services de Google suivants : Google Whack, Google Calculator
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


