Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

 


Dernière réponse
Sujet : [SQL/PHP]Comment faire ?
Mara's dad Le Point, c'est l'opérateur de concaténation.
 
echo '<br>'.$nom[$i].' - '.$compteur[$nom[$i]].' - '.$row2->date;  
 
Mais si tu utilise les guillemets doubles, tu n'en as pas besoin:
echo "<br>$nom[$i]" - ".$compteur[$nom[$i]]." - ".$row2->date;  
 
Sauf pour les tableaux à plus d'une dimension "$compteur[$nom[$i]]", et peut-être aussi pour les objets, mais je suis pas certain "$row2->date".

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Mara's dad Le Point, c'est l'opérateur de concaténation.
 
echo '<br>'.$nom[$i].' - '.$compteur[$nom[$i]].' - '.$row2->date;  
 
Mais si tu utilise les guillemets doubles, tu n'en as pas besoin:
echo "<br>$nom[$i]" - ".$compteur[$nom[$i]]." - ".$row2->date;  
 
Sauf pour les tableaux à plus d'une dimension "$compteur[$nom[$i]]", et peut-être aussi pour les objets, mais je suis pas certain "$row2->date".
FLY LM

kayasax a écrit a écrit :

Et ca sert a quoi les points qui entourent les variables ??:
 echo '<br>'.$nom[$i].' - '.$compteur[$nom[$i]].' - '.$row2->date;  




 
->pour que PHP interprète les variables.

kayasax Et ca sert a quoi les points qui entourent les variables ??:
 echo '<br>'.$nom[$i].' - '.$compteur[$nom[$i]].' - '.$row2->date;
kayasax houla ben c'est pô gagné  :cry:
Mara's dad C'est pour générer un tableau associatif (dont l'index est le nom) qui contient donc pour chaque nom, le nombre de fois qu'il apparait.
 
En gros c'est pour stocker le résultat de la première requête avant de faire la seconde.
 
Comme il dit, c'est pas optimisé !  :lol:  
 
Donc c'est à toi de comprendre ce que çà fait et de le refaire mieux.
 
Je te souhaite un bon exercice.
kayasax Merci a tous c'etait le AS qqchose qui me manquait.
 
FlyLM peux tu m'expliquer cette instruction stp :
$compteur[$row->nom] = $row->compt;
FLY LM C'est pas optimisé, mais ça répond à ton problème :
 
$query = "SELECT COUNT(id) as compt,nom FROM test3 GROUP BY nom";
$result = mysql_db_query ($cfgBase,$query) or die ("Erreur 1" );
 
 while($row = mysql_fetch_object($result))
 {
  $compteur[$row->nom] = $row->compt;
 }
 
$query2 = "SELECT id,nom,date FROM test3 ORDER BY nom";
$result2 = mysql_db_query ($cfgBase,$query2) or die ("Erreur 2" );
 
 $i = 0;
 while($row2 = mysql_fetch_object($result2))
 {
  $nom[$i] = $row2->nom;
   
  if($nom[$i]!=$nom[$i-1])
  {
   echo '<br>'.$nom[$i].' - '.$compteur[$nom[$i]].' - '.$row2->date;
  }
  else
  {
   echo ' - '.$row2->date;
  }
  $i++;
 }
 
Sans les dates :
 
$query = "SELECT COUNT(id) as compt,nom FROM test3 GROUP BY nom";
$result = mysql_db_query ($cfgBase,$query) or die ("Erreur 1" );
 
while($row = mysql_fetch_object($result))
{
 echo  $row->nom." - ".$row->compt."<br>";
}
irulan Du point de vue SQL c'est tout à fait possible, sans le détail des dates !!
 
SELECT NOM, COUNT(*) FROM MA_TABLE
GROUP BY NOM;
 
Pour ce qui est du PHP, désolé je ne peux pas t'aider :(
Mara's dad En une seule requête, ce n'est pas possible.
Sinon, pour le count, tu fait :
 
select count(*) as nb_fois from ...
 
Et t'as une variable.
 
Sinon, tu utilise l'indice numérique dans le tableau des résultats 0, 1, 2... au lieu du nom de champ. Mais "as nb_fois" c'est mieux !
kayasax Ca doit pas etre tres dur mais je trouve pas la logique...
J'ai une table comme ca :
toto|date1
tata|date1
toto|date2
titi|date3
toto|date4
 
et je veux que ca m'affiche un truc du style :
toto ; 3 ; (date1,date2,date4)
tata ; 1 ; (date1)
titi ; 1 ; (date3)
 
donc faire un select distinct sur les noms, avec le nombre de fois ou il apparait (count (*)) (si c'est trop  contraignant on laissse tomber les dates)...
 
si kkun veut bien me pondre le code php correspondant ca m'arrangerai (ce qui me bloque c'est de recuper le nombre de fois ou le nombre apparait (je n'ai pas de variables associée).
 
++

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)