| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
tourismeenbretagne WRInaute occasionnel

Inscrit le: 18 Juin 2004 Messages: 127
|
Posté le : Mer Avr 18, 2007 10:44 Sujet du message: [réglé] 15 derniers sites & sites les plus visités d'1 a |
|
|
Bonjour,
J'aimerais afficher les :
- 15 derniers sites
- 15 sites les plus visités
de mon annuaire dans une colonne sur l'ensemble du site.
J'y suis arrivé pour les 15 sites les plus visités mais ça coince pour les 15 derniers sites. En effet, l'url affichée renvoit vers mon site ?
Voici mes codes :
Pour le Top clics, ajout de ce bout de code au lieu d'insertion
| Code: |
<span class="date_validation_site_annuaire">
<b>Top 15 des clics</b>
</span>
<br>
<?php
//script permettant d'afficher les meilleurs sites ayant eu le plus de visites
//creation de la requete d'admin
$sql_admin = "SELECT nb_sites_in_topclics, nb_days2benew FROM $T_infos ";
//connexion a la BD
$lk = connection_BD();
//envoi de la requete
$res_admin = send_sql($sql_admin,"trouver le nombre de sites que contiendra le Top clics");
//traitement du resultat
$result_admin = mysql_fetch_array($res_admin,MYSQL_ASSOC);
$nb_sites_top_clics = $result_admin["nb_sites_in_topclics"];
$nb_days2benew = $result_admin["nb_days2benew"];
//creation de la requete pour les sites
$sql = "SELECT s.id, id_cat, titre, description, url, nb_clics, date_validation, cat_name, TO_DAYS(CURRENT_DATE) - TO_DAYS(date_validation) AS dif_days FROM $T_sites AS s, $T_categories AS c WHERE s.id_cat = c.id AND s.activation = 1 AND c.activation = 1 AND nb_clics > 0 ORDER BY nb_clics DESC,titre LIMIT 0,15";
//envoi de la requete
$res = send_sql($sql,"trouver les sites du Top clics");
//fin de la connexion
mysql_close($lk);
?>
<?
if (mysql_num_rows($res))
//si on a des resultats
{
echo "<table border=0 >\n";
$position=1;
while ($resultat = mysql_fetch_array($res))
{
affiche_menu_clics($resultat);
$position++;
}
echo "</table>\n";
}
else //pas de resultat
{
}
?> |
Dans functions.php, ajout de ce bout de code :
| Code: |
function affiche_menu_clics($resultat)
{
global $PMA_infos,$nb_days2benew,$position;
echo"<a href=\"$resultat[url]\" onmousedown=\"return clk('$resultat[id]')\" title=\"$resultat[titre]\" target=\"_blank\" class=\"titre_site_annuaire\">$resultat[titre]</a><br>";
} |
Pour les Derniers Liens, ajout de ce bout de code au lieu d'insertion
| Code: |
<span class="date_validation_site_annuaire">
<b>15 Derniers sites</b>
</span>
<br>
<?php
//affichages des resultats
//page affichant les nouveautes de la derniere semaine
//creation de la requete d'admin
$sql_admin = "SELECT nb_days2benew FROM $T_infos ";
//connexion a la BD
$lk = connection_BD();
//envoi de la requete d'admin pour avoir $nb_days2benew
$res_admin = send_sql($sql_admin,"trouver le nombre de jours pour qu'un site soit nouveau");
//traitement du resultat
$result_admin = mysql_fetch_array($res_admin,MYSQL_ASSOC);
$nb_days2benew = $result_admin["nb_days2benew"];
//creation de la requete pour aller chercher les nouveaux sites des X derniers
$sql = "SELECT s.id, titre, url, description, date_validation, nb_clics, c.id as id_cat, cat_name FROM $T_sites s, $T_categories c WHERE s.id_cat = c.id AND s.activation = 1 AND c.activation = 1 AND date_validation BETWEEN DATE_SUB(CURRENT_DATE,INTERVAL $nb_days2benew DAY) AND DATE_SUB(CURRENT_DATE,INTERVAL 0 DAY) ORDER BY date_validation DESC,niveau ASC,titre ASC limit 0,15";
//envoi de la requete
$res = send_sql($sql,"trouver les nouveaux sites (annuaire)");
//fin de la connexion
mysql_close($lk);
if (mysql_num_rows($res))
//si on a des resultats
{
$date_test = ""; //pour la comparaison dans le while
while ($resultat = mysql_fetch_array($res,MYSQL_ASSOC))
{
//on convertit la date en version francaise
$date_convertie = convert_date_us2fr($resultat["date_validation"]);
if ($date_test != $date_convertie)
//changement de date => on affiche le jour
{
//separateur
if (!empty($date_test))
//conservation de la date pour la prochaine comparaison
$date_test = $date_convertie;
//on affiche la date
?>
<?
}
affiche_menu_nouveau($resultat);
}//fin while
} //fin if
else //pas de resultat
{
}
?>
|
Dans functions, ajout de :
| Code: |
function affiche_menu_nouveau($resultat)
{
global $PMA_infos,$nb_days2benew,$position;
echo"<a href=\"$resultat[url]\" onmousedown=\"return clk('$resultat[id]')\" title=\"$resultat[titre]\" target=\"_blank\" class=\"titre_site_annuaire\" >$resultat[titre]</a><br>";
} |
Pour mieux vous rendre compte : http://www.itinerances.info/
Merci d'avance pour le petit coup de main
Greg
edit : Code corrigé pour ceux que ça intéressent
Dernière édition par tourismeenbretagne le Ven Avr 20, 2007 10:43; édité 1 fois |
|
| |
|
 |
Leonick WRInaute accro

Inscrit le: 08 Aoû 2004 Messages: 8427 Localisation: Val de Marne
|
Posté le : Mer Avr 18, 2007 16:03 Sujet du message: Re: 15 derniers sites et 15 sites les pus visités d'un annua |
|
|
| tourismeenbretagne a écrit: |
| J'y suis arrivé pour les 15 sites les plus visités mais ça coince pour les 15 derniers sites. En effet, l'url affichée renvoit vers mon site ? |
Je ne vois pas le problème ou alors je ne comprends pas. |
|
| |
|
 |
thunderfear Nouveau WRInaute
Inscrit le: 12 Oct 2004 Messages: 34 Localisation: Charleroi
|
Posté le : Mer Avr 18, 2007 18:35 Sujet du message: [réglé] 15 derniers sites & sites les plus visités d'1 a |
|
|
Salut,
Essayez ca?
$sql = "SELECT s.id, id_cat, titre, description, s.url, nb_clics, date_validation, cat_name, TO_DAYS(CURRENT_DATE) - TO_DAYS(date_validation) AS dif_days FROM $T_sites AS s, $T_categories AS c WHERE s.id_cat = c.id AND s.activation = 1 AND c.activation = 1 AND nb_clics > 0 ORDER BY nb_clics DESC,titre LIMIT 0,15"; |
|
| |
|
 |
tourismeenbretagne WRInaute occasionnel

Inscrit le: 18 Juin 2004 Messages: 127
|
Posté le : Ven Avr 20, 2007 10:41 Sujet du message: [réglé] 15 derniers sites & sites les plus visités d'1 a |
|
|
Oopss j'ai trouvé. J'avais oublié d'appeler l'url dans la requêtre sql
Greg  |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
Définitions :
|
|