champs un peu complexe à traiter dans requete

champs un peu complexe à traiter dans requete - PHP - Programmation

Marsh Posté le 06-08-2007 à 12:16:59    

bonjour,
 
je suis un peu en difficulté sur une requete que je n'arrive pas à traiter correctement :  
 
une table (4 champs) enregistre les accès vers des fichiers (musiques) sous cette forme :  
 
id_enr
song_id
mois
total
 
l'objectif est deconnaitre le nombre de fois ou le morceau à été écouté dans le mois et le plus dur (pour moi) c'est le champs total  
qui est de la forme :  
 
01;0;0;0;0;0|02;0;0;0;0;0|03;0;0;0;0;0|04;0;0;0;0;0|05;0;0;0;0;0|06;0;0;0;0;0|07;0;0;0;0;0|08;0;0;0;0;0|09;0;0;0;0;0|10;0;0;0;0;0|11;0;0;0;0;0|12;0;0;0;0;0|13;0;0;0;0;0|14;0;0;0;0;0|15;0;0;0;0;0|16;0;0;0;0;0|17;0;0;0;0;0|18;0;0;0;0;0|19;0;0;0;0;0|20;0;0;0;0;0|21;0;0;0;0;0|22;0;0;0;0;0|23;0;0;0;0;0|24;0;0;0;0;0|25;0;0;0;0;0|26;0;0;0;0;0|27;0;0;0;0;0|28;0;0;0;0;1|29;0;0;0;0;0|30;0;0;0;0;0
chaque jour est séparé par | et à l'intérieur de chaque jour 5 entrées .. correspondant à un format différent . (mp3, mov,wma, ogg,etc)
 
je cherche à isoler le premier dans chaque jour et à l'additionner pour avoir en final  
 
morceau : xxx
écouté : zzz fois dans le mois ...  
 
la requete peux pas tout donner j'imagine .. une function pour traiter le résultat ?
 
si vous pouvez me guider  
 
merci
antoine

Reply

Marsh Posté le 06-08-2007 à 12:16:59   

Reply

Marsh Posté le 06-08-2007 à 13:50:51    

si tu commençais pas structurer ta base correctement...
 
si tu enregistres des infos avec des séparateurs pour retraiter les données, pas besoin de bdd, enregistre tout dans une seule ligne d'un seul fichier texte...
 
sinon crée des tables et des champs pour gérer toutes tes données.

Reply

Marsh Posté le 06-08-2007 à 15:00:53    

merci
 
en fait je n'ai pas  structuré cette base comme cela - j'utilise un programme qui enregistre les données comme cela ..  
je dois donc faire avec ces données en l'état  
 
ce sont ces arrays .. que je vois pas trop comment gérér - isoler le premier argument pour chaque jour .. les aditionner .. tout çà dans la boucle while d ela requete !

Reply

Marsh Posté le 06-08-2007 à 16:19:46    

en php, tu peux utiliser explode() sur | puis sur ; et après, array_sum()

Reply

Marsh Posté le 07-08-2007 à 08:58:42    

ok merci du coup de main ..  
comme ceci çà marche bien  :
 
 
$one_cut= explode("|", $str);
for ($i=1;$i<=31;$i++)
{
$second_cut = explode(";",$one_cut[$i]);
$total += $second_cut[1];
if ($second_cut[1]!=0)
{
echo 'jour = '.$second_cut[0]. ' Nb d\'écoutes : ' .$second_cut[1];}
 
}
echo $total;

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed