while (mysql_sql_fetch_array) imbriqués [RESOLU] - PHP - Programmation
Marsh Posté le 15-02-2006 à 14:32:02
bin manque une parenthèse ligne 16 ... comme te le dit le message d'erreur
Code : |
D'ailleurs ligne 18 aussi !!!
edit: grrr on peut pas mettre de gras dans une balise code...
Marsh Posté le 15-02-2006 à 14:34:11
quelle connerie!!
merci! c'était sous mon nez!!
je teste...
ok!! ça marche, du moins en terme de syntaxe...
sinon mon résultat n'affiche pas ce dont j'ai besoin...
il ne faut pas que je compte si le nombre de lignes est égal à 1 : qu'il y en ait plusieurs ou pas j'ai toujours besoin de comparer la ligne la plus récente de la table historique avec la ligne unique pour l'identifiant dans l'autre table...
donc je vire le if 1, et ça ne change rien...
je dois avoir un problème de logique
je suis pas doué !
merci pour la correction syntaxique en tous les cas anapajari!! (la honte )
[edit] bon en fait il me compare la ligne de la atble historisation avec toutes les lignes de l'historique alors que je lui demande de comparer avec la plus récente seulement...et il ne tiens pas compte de la suite du code de Peter45...
grrr
il faudrait changer le code ligne 20 :
if($aff1['nom']!=$aff['nom'] AND "la première ligne du tableau de $requete (table historique)" )
c'est une histoire d'array...
comment dire ça? ligne0 de l'array?
je vais chercher dans cette direction...
et je trouve grace au $stop que des maîtres es php m'ont enseigné dans mon long périple...
mais pourquoi il ne continue pas après à lire la suite du code?!!!
bon j'ai résolu mon problème avec un système d'includes...
j'ai séparé mes deux requetes comme ça et ça m'éxécute les 2...
merci pour votre ecoute!!
Marsh Posté le 15-02-2006 à 14:26:52
Salut à tous!!
je vous explique mon problème.
Grace à l'aide de Peter45 et Omega2, j'ai réussi à mettre en place un système de comparaison de données historisées.
cette partie fonctionne correctement, à savoir :
j'ai une série de données accumulée sur un identifiant (nom prénom adresse et date d'intégration) avec un autoincrément en rab.
le système me compare ligne après ligne de la plus récente à la plus ancienne, les différences entre les lignes.
(exemple : identifiant abcd : cette personne a changé de nom le 25-10-2004, ancien nom dupont, nouveau nom grobert.)
vous verrez le code y est..
le seul truc dans ce script, il ne me compare que les identifiants pour lesquels il existent au moins deux lignes dans l'historique.
pour ceux qui n'ont qu'une ligne (donc pas de modification visible dans la table historique) je veux les comparer avec une autre table qui comporte les mêmes champs de données (excepté l'autoincrément), qui correspondent à l'état actuel au temps t0.
dans la table historisation (t0) l'identifiant est unique.
le temps t1 correspond au champs le plus récent dans ma table historique.
je sais pas si vous me suivez, mais je préfère expliquer ce que je veux faire!
bon passons dans le vif : mon code :
le résultat : il me met parse error à la ligne 16...là où j'essaye de faire cette compararison de ligne de deux tables.
1- je vois pas l'erreur (souvent pour moi c'est une erreur causée par des quotes ou des oublis de ';' )
2- Je suis pas sur que ma méthode pour comparer une ligne de table avec une ligne d'une autre table soit la bonne...
a mon avis (j'ai testé sur d'autres cas) ma double boucle va me générer deux fois minimum ce que je veux, en plus du parse error...
quelqu'un peut me filer un coup de main? merchi!!
Message édité par flock86 le 15-02-2006 à 16:10:00