Je dispose d'array contenant de multiples informations, et parfois avec des doublons.
J'aimerais pouvoir générer un nouveau tableau à partir du premier, qui récapitulerais les informations contenus dans le premier.
En gros, je parcourt une fois mon premier tableau et relève chaque valeur, puis je parcourt mon 2ème tableau et vérifie si la valeur existe déjà (ça se base sur le nom du site donc).
Si le nom du site existe dans le 2ème tableau, je cherche toute les occurrences de ce nom de site dans le 1er tableau, je récupère les information relatives à ce site, et j'additionne les valeurs.
Je récupère le résultat de l'addition de chaque champs dans son champ équivalent du nouveau tableau.
Ainsi pour Paris du 1er tableau on avait :
<gras>Paris :</gras> (1ère occurrence)
Temps de connexion = 247
Octets reçu = 5877
Octets envoyes = 8974
<gras>Paris :</gras> (2ème occurrence)
Temps de connexion = 458
Octets reçu = 4250
Octets envoyes = 6250
Et à la fin on se retrouve avec ceci :
<gras>Paris :</gras> (Résumé)
Temps de connexion (total) = 705
Octets reçu (total) = 10127
Octets envoyes (total) = 15224
J'ai déjà tenté avec pas mal de fonctions je ne vais pas toute les lister ici ça prendrait trop de temps
Ma dernière en date est :
ne sont pas reconnus, du moins les champs ['Nom_du_site'] et ['Temps_de_connexion'].
Je dois donc mal utiliser la fonction foreach, peut-être que ce n'est pas la bonne fonction à utiliser, enfin bref, ça va faire 7-8h que je plenche dessus, et je n'arrive pas à des résultats satisfaisants.
Si quelqu'un pouvait me donner un nom de fonction, une piste, une page de php.net qui serait capable de m'aider à avancer (je n'attend pas qu'on me mâche le code tout cru, j'ai horreur de ça, je préfère comprendre ce que je fait).
Bah, il semblerait que tu te bases sur le nom du lieu comme identifiant. Tu pourrais essayer de restructurer ton tableau de base en te servant de la ville comme index :
Il y a certaines fonctions que je ne comprend pas parce que je ne les connaissaient pas, je vais faire le tour sur PHP.net pour bien assimiler le code que tu m'a gracieusement offert, et je reviendrais sur ce sujet pour expliquer, ligne par ligne, ce que fait ton code, tu me reprendra si je me suis trompé.
C'est vrai que c'est assez incroyable le SQL, du moins la simplicité de la requête pour obtenir un résultat similaire :
$query = 'SELECT *, SUM(Temps_de_connexion) AS Temps_de_connexion_total FROM `august` WHERE `Jour` = 1 AND `Mois` = 9 GROUP BY `Nom_du_site` ORDER BY `august`.`Nom_du_site` DESC';
$reponse = mysql_query($query) or die ('Erreur dans l\'exécution de la requête; $query (extraire.php)<br>');
ce qui tiens en 2 lignes
Pour un résultat identique et un affichage bien plus rapide
(J'ai transféré toutes les données récupérées dans une BDD, en fait c'est ce que je voulais faire depuis le début mais il fallait avant que je m'entraine au php, pour bien comprendre le principe et les applications de base, maintenant le SQL est presque une promenade de santé pour faire ce que je désire
Tri d'un tableau et calculs
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Enfin bon, c'est juste une suggestion, peut-être pas applicable à ton truc.