Alimenter une table

Eléphanteau du PHP | 43 Messages

21 mars 2006, 13:04

Bonjour à tous,

Je souhaite calculer le nombre de visite par commercial et affecter ces différents totaux dans une table.

Ci-dessous le code :
// Calcul du nombre de visite par Commercial
$sql = "SELECT count(*) AS nbvisite FROM visite
GROUP BY visite.Code_Comm";
$result = mysqli_query ($ressource, $sql);
$enreg = mysqli_fetch_assoc($result);
$Nb_Visite = $enreg['nbvisite'];

// Affection du nombre de visites par commercial
While($tab_visite = mysqli_fetch_assoc($result))
{
$sql_update = "UPDATE statistique
SET statistique.Visite = '$Nb_Visite'";
mysqli_query($ressource,$sql_update);
}

Le problème est que c'est le total de mon 1er commercial qui est répercuté dans "statistique.Visite"


Qqun a-t'il une ptite idée ?

Merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 mars 2006, 13:15

Il doit manquer un bout de code, ou alors je ne comprend pas ce que tu veux faire :
// Calcul du nombre de visite par Commercial 
$sql = "SELECT count(*) AS nbvisite FROM visite 
GROUP BY visite.Code_Comm"; // le group by est inutile si tu ne fais qu'un count sur une table, ou alors il faut ressortir code_comme dans les éléments de ton select
$result = mysqli_query ($ressource, $sql); 
$enreg = mysqli_fetch_assoc($result); 
$Nb_Visite = $enreg['nbvisite']; // donc nb_visite = nb total de ligne dans ta table visite

// Affection du nombre de visites par commercial 
While($tab_visite = mysqli_fetch_assoc($result)) // c'est le même result ? tu en as déjà retiré une ligne au dessus
{ 
$sql_update = "UPDATE statistique 
SET statistique.Visite = '$Nb_Visite'"; // où est la notion du 'par commercial' tu met à jour toutes les lignes de ta table statistique avec nb_visite
mysqli_query($ressource,$sql_update); 
} 
A adapter selon ton besoin et ta structure (c'est un peu au pif) mais ne serait-ce pas plus logique de faire ainsi :
$sql = "SELECT count(*) AS nbvisite, code_comm FROM visite 
GROUP BY visite.Code_Comm"; // nombre de visite par code_comm
$result = mysqli_query ($ressource, $sql); 

// Affection du nombre de visites par commercial 
While($tab_visite = mysqli_fetch_assoc($result)) 
{ 
$nbVisite = $tab_visite['nbvisite'];
$codeComm = $tab_visite['code_comm'];
$sql_update = "UPDATE statistique 
SET statistique.Visite = $nbVisite 
WHERE code_comm = '$codeComm'"; // met à jour le nombre de visite pour ce code_comm
mysqli_query($ressource,$sql_update); 
} 

Invité
Invité n'ayant pas de compte PHPfrance

21 mars 2006, 15:06

Merci beaucoup de ton aide Ryle.