begin process at 2012 02 15 09:56:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

mysql requette comment faire???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

mysql requette comment faire???

mardi 24 août 2004 à 22:38:47 | mysql requette comment faire???

jordangj

bonjour je vous explique mon pb
voici le code qui me permet de crée un tableau:

$result=mysql_query("select count(nb_visite) as somme,date from visiteur where idmb='$idmb' and date like '%".$moi_annee."' group by date order by date desc") or die ("erreur compte visite");
while($row=mysql_fetch_array($result)){
$couleur = choix_couleur($couleur1, $couleur2);
$sql="select sum(p.nb_visite) as somme from visiteur v, page p where idmb='$idmb' and v.date like '".$row[date]."' and v.code=p.code ";
$result1=mysql_query($sql) or die ("erreur compte pages vues");
$row2=mysql_fetch_array($result1);
echo "<tr>
<td align=\"center\" bgcolor=".$couleur."><a href=\"?id=$id&hier=$row[date]\"><b>".$row[date]."</b></a></td>
<td align=\"center\" bgcolor=".$couleur.">$row[somme]</td>
<td align=\"center\" bgcolor=".$couleur.">$row2[somme]</td>
</tr>";
}



mon but est d'ordoner les resultats pas pages visitées avec la variable $row2[somme]
comment faire ???????
merci
GJ
mardi 24 août 2004 à 23:52:06 | Re : mysql requette comment faire???

GRenard

1. Ne pas appeler un champ "date"
2. $row['somme'] (il faut mettre les ' ' car c'est du text !)
3. pour ce qui est d'ordonner, je ne vois pas très bien la, c'est plutot toufu ton code... je te conseil de faire qu'un SQL et d'ordonner ca. Sinon tu peux tout mettre dans un tableau et faire un sort() apres.


PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]
mercredi 25 août 2004 à 00:06:18 | Re : mysql requette comment faire???

rekam

Salut!

Fais tout ça en 3 temps. D'abord tu récupères toutes les données et tu les stockes sous forme de tableaux (ou d'objets). Ensuite, tu tries ton tableau. Finalement tu reprends ton tableau et tu affiche.

ce qui donnerait qqch du genre (je saute volontairement quelques lignes de ton code) :

//Tu déclares un tableau comme ceci :
$data['date']= array();
$data['somme1'] = array();
$data['somme1'] = array();

$result = mysql_query(...);
while ($row = mysql_fetch_array($result)){
...
...
$result1 = mysql_query($sql);
$row2 = mysql_fetch_array($result1);

//Maintenant, au lieu de faire echo, tu sauvegardes tout ça dans le tableau.
$data['date'][] = $row['date'];
$data['somme1'][] = $row['somme']
$data['somme2'][] = $row2['somme']
}

//Ensuite, tu tries ton tableau $data comme tu le souhaites
array_multisort($data['somme2'], SORT_DESC, $data['somme1'], $data['date']);

//Puis tu affiches ta table
for ($i = 0; $i < count($data['somme1']); $i++){
echo "...";
}

Voilà, j'espère que ça t'aideras ! J'ai pas testé, alors si ça plante...c'est normal ;-). Et c'est vrai qu'il est mieux d'éviter d'appeler un champ de BD "date", ça créé des conflits, parfois. Pour les quotes également, faut pas les oublier, même si ça marche dès fois sans !
mercredi 25 août 2004 à 21:40:37 | Re : mysql requette comment faire???

jordangj

Voici le code que j'ai modifier c nikel merci
le seul pb c'est que c'est vraiment long avant l'affichage.
peu on alégé la requette ??? ou ya t'il quelque chose que j'ai mal fait
merci
Jordan



//Tu déclares un tableau comme ceci :
$data['date']= array();
$data['somme1'] = array();
$data['somme2'] = array();

$result = mysql_query("select date from visiteur where idmb='$idmb' and date like '%".$moi_annee."'");
while ($row = mysql_fetch_array($result)){

$sql="select sum(p.nb_visite) as somme from visiteur v, page p where idmb='$idmb' and v.date like '".$row[date]."' and v.code=p.code ";
$result1 = mysql_query($sql);
$row2 = mysql_fetch_array($result1);

//Maintenant, au lieu de faire echo, tu sauvegardes tout ça dans le tableau.
$data['date'][] = $row['date'];
$data['somme1'][] = $row['somme'];
$data['somme2'][] = $row2['somme'];
}

//Ensuite, tu tries ton tableau $data comme tu le souhaites

array_multisort($data['date'], SORT_DESC, $data['somme1'], $data['somme2']);
}

//Puis tu affiches ta table
for ($i = 0; $i < count($data['somme1']); $i++){
echo "<tr>
<td align=\"center\" bgcolor=".$couleur."><a href=\"?id=$id&hier=".$data['date'][$i]."\"><b>".$data['date'][$i]."</b></a></td>
<td align=\"center\" bgcolor=".$couleur.">".$data['somme1'][$i]."</td>
<td align=\"center\" bgcolor=".$couleur.">".$data['somme2'][$i]."</td>
</tr>";
}

samedi 28 août 2004 à 13:29:42 | Re : mysql requette comment faire???

Anthomicro

Salut ;-)

Pour faire ça en une seule requête tu fais un left join :

(je n'ai pas testé, mais la syntaxe s'en rapproche) :

$requete=mysql_query("SELECT v.date,SUM(p.nb_visite) as somme FROM visiteur v LEFT JOIN page p ON v.idmb=p.idmd AND v.code=p.code WHERE idmb='$idmb' and date like '%".$moi_annee."'");

Tu n'as plus qu'à faire un fetch_row et c'est bon

a ++
samedi 28 août 2004 à 16:07:54 | Re : mysql requette comment faire???

jordangj

salut
ouia j'ai cherché et j'ai trouvé cette histoire de join.
mais est t'il possible de recupere mes trois varable sur 1 requette ???

$result = mysql_query("select date from visiteur where idmb='$idmb' and date like '%".$moi_annee."'");

$sql="select sum(p.nb_visite) as somme2 from visiteur v, page p where idmb='$idmb' and v.date like '".$row[date]."' and v.code=p.code ";

$row['date'];
$row['somme'];
$row2['somme'2];


voila
merci
GJ

samedi 28 août 2004 à 18:31:46 | Re : mysql requette comment faire???

GRenard

SELECT a.date,b.somme,b.somme2 WHERE xxx a, yyy b WHERE a.id=b.id AND b.code=4

exemple...

Change ton champ Date !


PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
[ Lien ]


Cette discussion est classée dans : date, mysql, row, somme, idmb


Répondre à ce message

Sujets en rapport avec ce message

Non inscription dans la base [ par chris tuckers ] Bonjour, aujourd'hui je vais etre enervant car je vais mettre beaucoup dans ce message, je suis completement paumé !!!Mon problème est que chaque fois commentaire [ par csmgroup ] Bonjour à tous,je viens vers vous car j'ai un petit soucis.J'ai instalé un script de news-commentaires, au niveau base de données, tout fonctionne. Le scroll tableau php [ par rudybiss ] Bonjour à tous!!!Voila je devéloppe un site et je dois gerer des évenements.Alors j'ai un table qui contient tous les évenements liées à des dates et Problème lors de l'envois des valeurs des cases à cocher [ par ChristOffAum ] Bonjour à toutes et à tous, me voilà sur ce forum en esperant trouver réponses à mes questions... Je n'ai pas trouvé de section présentation n'hésitez mysql/php [ par aamsa ] Bonsoir, j'ai un script qui permet d'afficher groupes (groupe est une table mysql)dont le code est le suivant: '; echo ""; echo ''; echo prbleme recheche multi champ [ par cs77 ] Bonjour, Je suis novice en Php et Mysql. Je dois préparer un site pour une association de généalogie. Les membres de l'association feront des recher Affichage d'une bd dans mysql à partir de la selection d'un nom d'une liste déroulante [ par sirina89 ] bjr j'ai un formulaire php qui contient une liste déroulante en choisissons un noms de cette liste il doit afficher dans un tableau tous les enregist php mysql tableau probleme [ par toto6311 ] Bonjour tout le monde , j'ai un petit soucis , pour afficher ma base membre dans un tableau sur mon site . Voila les champs de ma table $id' ,'$emai Date et formatage de date [ par smoana ] Bonjour, Alors mon soucis j'ai un tableau qui m'affiche des données d'une table mysql. J'ai aucun problème pour le moment au niveau de l'affichage. calculer une date avec php/mysql [ par morpheus83 ] Bonjour, j'ai un probleme a regler...vous vous en doutez [^^yeuxenlair]. j'ai une base de donnee mysql avec 2 champs : date_sortie : format date numer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales