Page 1 sur 1
Récupération des Thumbnails pour présentation d'un top
Posté : mercredi, 02 avril 2008, 20:56
par tryptico
Bonjour à tous,
Voila plusieurs jours que je m'efforce tant bien que mal de récupérer les images des nouveaux sites et du top clic, pour les présenter sur la page d'accueil, et je n'arrive à rien. Mes cheveux commence à tomber et mes yeux me brule
Quelqu'un pourrait-il me prêter main forte s'il vous plaît ?
merci beaucoup !
Posté : mercredi, 02 avril 2008, 23:29
par Keroin
Hello tryptico et
Peux tu préciser quelle version du script tu as ?
=> Categorizator, YourPHPAnnuaire,...
Ensuite tu le veux à quel endroit sur ton index ?
Posté : mercredi, 02 avril 2008, 23:38
par tryptico
Merci de ta rapidité
J'ai mis a jour mon categorizator vers revolutionneyourphp
Ensuite, j'aimerai placer cela soit sur l'index avant le tableau des catégories, soit dans mon menu de droite.
C gérable ?
Posté : jeudi, 03 avril 2008, 00:15
par Keroin
Oui c'est possible, l'affichage des thumbnails est géré par le fichier functions.php (après la ligne 100).
Pour les nouveaux site c'est assez simple, c'est ce que je fais sur les fiches individuelles des sites en fait.
Le code donne quelque chose comme ça (à habiller comme tu en as envie par la suite).
Ici on veut afficher les 10 derniers sites validés
Code : Tout sélectionner
<?php
$lk = connection_BD(); // Connection
// Recherche des 10 derniers sites
$sql = "SELECT id, titre, url_image, description, url FROM $T_sites ORDER BY date_validation DESC LIMIT 0,10";
//envoi de la requete
$res = send_sql($sql,"trouver les 10 derniers sites");
// Les 10 derniers sites
while($infos = mysql_fetch_array($res))
{
$idsite = $infos['id'];
$titre = $infos['titre'];
$description = $infos['description'];
$urlimage = $infos['url_image'];
$urlsite = $infos['url'];
echo '<a href="' .$urlsite. '"><img src="' .$urlimage. '" width="120" height="90" border="0"></a><br> ';
}
?>
Fait des tests quand même car comme j'ai tout énormément modifié j'ai retrouvé une partie de ce code de mémoire
On va d'abord faire cette partie là et voir si ça fonctionne comme tu veux (tu devrais avoir les 10 vignettes les unes en dessous des autres).
=> à mettre dans le fichier after.php par exemple.
Pour récupérer le top clic le code est un peu plus compliqué et il va falloir que je cherche un peu plus mais on va déjà voir pour celui là
Posté : jeudi, 03 avril 2008, 00:28
par tryptico
ça marche nickel, c'est génial
merci beaucoup
Posté : jeudi, 03 avril 2008, 00:54
par Keroin
Ok cool
Pour le top clic essaye ça
Code : Tout sélectionner
<?php
//connexion a la BD
$lk = connection_BD();
//creation de la requete pour le top clic
$sql = "SELECT s.id, id_cat, titre, description, url, url_image, 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,10";
//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 align=\"center\" width=60%>\n";
$position=1;
while ($resultat = mysql_fetch_array($res))
{
affiche_site($resultat,"topc");
$position++;
}
echo "</table>\n";
}
else //pas de resultat
{
?>
<center>
<span class="no_clic_site_annuaire">
Aucun site n'a encore reçu de visite...
</span>
</center>
<br><br>
A tester...
Posté : jeudi, 03 avril 2008, 01:14
par tryptico
il doit y avoir un petit quelque chose qui debloque mais je sais pas...
Parse error: syntax error, unexpected $end
Posté : jeudi, 03 avril 2008, 01:19
par Keroin
Et comme ça ?
Code : Tout sélectionner
<?php
//connexion a la BD
$lk = connection_BD();
//creation de la requete pour le top clic
$sql = "SELECT s.id, id_cat, titre, description, url, url_image, 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,10";
//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 align=\"center\" width=60%>\n";
$position=1;
while ($resultat = mysql_fetch_array($res))
{
affiche_site($resultat,"topc");
$position++;
}
echo "</table>\n";
}
else //pas de resultat
{
?>
<center>
<span class="no_clic_site_annuaire">
Aucun site n'a encore reçu de visite...
</span>
</center>
<br><br>
<?php
}
?>
Posté : jeudi, 03 avril 2008, 01:24
par tryptico
le site s'ouvre mais les infos (liens description...) des sites s'affiche aussi...
Posté : jeudi, 03 avril 2008, 01:35
par Keroin
Ah oui c'est vrai j'avais zappé que tu ne voulais que les vignettes
Il faut modifier la deuxième partie du code
Code : Tout sélectionner
<?php
//connexion a la BD
$lk = connection_BD();
//creation de la requete pour le top clic
$sql = "SELECT s.id, id_cat, titre, description, url, url_image, 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,10";
//envoi de la requete
$res = send_sql($sql,"trouver les sites du Top clics");
while($infos = mysql_fetch_array($res))
{
$id_top = $infos['id'];
$urlimage_top = $infos['url_image'];
$url_top = $infos['url'];
echo '<a href="' .$url_top. '"><img src="' .$urlimage_top. '" width="120" height="90" border="0"></a><br> ';
}
?>
A tester...
Posté : jeudi, 03 avril 2008, 10:18
par tryptico
ça marche !!! yoouuu
Encore merci !
Je vais pouvoir avancer
Posté : jeudi, 03 avril 2008, 10:38
par tryptico
AH si, une petite chose, les vignette renvoi vers le lien direct du site, est ce qu'il est possible de faire le lien vers la fiche d'info du site en question, histoire d'optimiser un peu... (si tu as deux minutes...) :)
Posté : jeudi, 03 avril 2008, 14:07
par Keroin
Ok, donc je part du principe que tu as activé l'url rewritting et que ton fichier contenant le code des fiches de site s'appelle infosite.php.
Cela doit donner quelque chose comme ça
Code : Tout sélectionner
<?php
//connexion a la BD
$lk = connection_BD();
//creation de la requete pour le top clic
$sql = "SELECT s.id, id_cat, titre, description, url, url_image, 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,10";
//envoi de la requete
$res = send_sql($sql,"trouver les sites du Top clics");
while($infos = mysql_fetch_array($res))
{
$id_top = $infos['id'];
$urlimage_top = $infos['url_image'];
$url_top = $infos['url'];
echo '<a href="http://TONNOMDEDOMAINE.COM/infosite-' .$id_top. '.html"><img src="' .$urlimage_top. '" width="120" height="90" border="0"></a><br> ';
}
?>
N'oublie pas de modifier ton nom de domaine dans les dernières lignes du script.
Il est possible aussi, selon la configuration, que cet "echo" là suffise
Code : Tout sélectionner
echo '<a href="infosite-' .$id_top. '.html"><img src="' .$urlimage_top. '" width="120" height="90" border="0"></a><br> ';
}
Testes les deux
Posté : jeudi, 03 avril 2008, 20:55
par tryptico
l'echo fonctionne, malheureusement le postulat de départ est incorrect.
Le fichier qui renvoi les page des sites se nomme page_site.php et meme si l'url rewiting est ok en changeant le nom de infosite par page-site il me redirige vers une page qui n'existe pas avec un mauvais nom :s
Posté : jeudi, 03 avril 2008, 21:27
par Keroin
Dans quel format sont tes url des pages des sites?
Posté : jeudi, 03 avril 2008, 22:11
par tryptico
Posté : jeudi, 03 avril 2008, 22:36
par Keroin
Le X représente l'id du site (son numéro d'enregistrement dans la base de données).
Essaye ça alors...
Code : Tout sélectionner
<?php
//connexion a la BD
$lk = connection_BD();
//creation de la requete pour le top clic
$sql = "SELECT s.id, id_cat, titre, description, url, url_image, 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,10";
//envoi de la requete
$res = send_sql($sql,"trouver les sites du Top clics");
while($infos = mysql_fetch_array($res))
{
$id_top = $infos['id'];
$urlimage_top = $infos['url_image'];
$url_top = $infos['url'];
echo '<a href="http://TONNOMDEDOMAINE.COM/' .$url_du_site_rw. '-s' .$id_top. '.html"><img src="' .$urlimage_top. '" width="120" height="90" border="0"></a><br> ';
}
?>
Si ça ne veut pas essaye aussi ça
Code : Tout sélectionner
<?php
//connexion a la BD
$lk = connection_BD();
//creation de la requete pour le top clic
$sql = "SELECT s.id, id_cat, titre, description, url, url_image, 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,10";
//envoi de la requete
$res = send_sql($sql,"trouver les sites du Top clics");
while($infos = mysql_fetch_array($res))
{
$id_top = $infos['id'];
$urlimage_top = $infos['url_image'];
$url_top = $infos['url'];
echo '<a href="' .$url_du_site_rw. '-s' .$id_top. '.html"><img src="' .$urlimage_top. '" width="120" height="90" border="0"></a><br> ';
}
?>