Page 1 sur 1

Recherche script affichage description pour Categorizator

Posté : vendredi, 09 mai 2008, 11:10
par landry
Bonjour,

Lors de la dernière Google Dance celui-ci a renvoyé mon annuaire au placard en lui affligeant un PR de zéro (PR4 avant). Je reste surpris car mon annuaire est l'un des rares à ne pas demander de liens de retour. M'enfin ...
Cela dit je cherche à rajouter du texte à mon annuaire et notamment sur l'accueil, je voudrais ajouter en dessous de chaque catégorie un petit descriptif de celle-ci mais je n'y parviens pas.
Pourriez-vous m'aider ?
Cordialement

Re: Recherche script Categorizator

Posté : vendredi, 09 mai 2008, 16:44
par Keroin
Bonjour et bienvenue Landry ;-)
Pour ton souci, tu cherches à ce que ce texte apparaisse uniquement sur l'index ou alors à chaque fois que l'on clique sur une des catégories sur la première page de cette dernière?
Si c'est la deuxième solution, c'est possible dans les options du script categorizator.
Pour la première solution ça doit pourvoir ce faire en ajoutant un include dans la fonction appelant les titres des catégories et en le joignant à l'id des dites catégories (un texte par id pour renvoyer l'affichage).

Maintenant, tu es sûr que tu veux mettre tout ça sur l'index d'un annuaire, ça risque de faire un peut surcharge avec en plus les titres des catégories/sous-catégories. De plus, la home est souvent naturellement mise en avant et ce qui est compliqué à bien classer ce sont les pages de catégories internes non linkées (ou mal linkées) depuis la Home. Moi c'est là que j'insisterais sur le contenu texte mais ça le script permet déjà de le faire dans ces options ;-)

Re: Recherche script pour Categorizator

Posté : vendredi, 09 mai 2008, 18:00
par landry
Bonjour Keroin et merci de ton accueil,

En fait mon problème est la chute subite du PR chez Google. Je pense, si ça se trouve ce n'est pas ça, que l'annuaire comporte trop de liens pour pas assez de texte. Et Google n'aime pas ça les pages bardés de liens, alors je me suis dit qu'en ajoutant un peu de texte ... :saipas:

J'aurais souhaité faire ce que fait le webmaster de ce site sous ses catégories : -http://annuaire-musique.narayana.fr/
un petit descriptif rapide de la section.
Maintenant, tu es sûr que tu veux mettre tout ça sur l'index d'un annuaire, ça risque de faire un peut surcharge avec en plus les titres des catégories/sous-catégories
A vrai dire je n'affiche pas les sous-catégorie sur la home, donc j'ai de la place.
Maintenant peut-être que je me plante radicalement et que la chute de PR est simplement dû au fait que Google a les annuaires dans le nez en ce moment, mais en tant que webmaster je cherche à comprendre.
Si tu veux jetter un oeil mon annuaire est là : -http://www.micro-astuce.com/annuaire/
peut-être que tu remarqueras quelque chose que je n'ai pas vu pouvant expliquer cette sanction de GG.
Merci à toi.
Excellente soirée.

Re: Recherche script pour Categorizator

Posté : vendredi, 09 mai 2008, 19:14
par Keroin
Pour le PR il ne faut pas trop s'en soucier car actuellement il n'y a plus aucune certitude concernant son utilité et surtout son exactitude (on évalue que le PR affiché sur les sites Internet est en fait celui que les sites possédaient il y a environ 6 mois), pour le véritable PR, seul Google le connait. Sachant cela il ne faut plus en tenir compte.
Si les visites, le positionnement et le crawl de tes pages par les robots des moteurs ne bouge pas trop c'est qu'il n'y a pas de véritable problème.
je n'affiche pas les sous-catégorie sur la home, donc j'ai de la place.
J'aurais tendance à conseiller de le faire car ça permet un accès simplifié aux catégories internes par les moteurs de recherche.

Le fait que l'annuaire soit dans un sous dossier du site et non sur un domaine ou sous domaine propre doit certainement gêner sa bonne prise en compte par les moteurs. Ça ne pose aucun problème à long terme (voir wri) mais dans les premiers temps de la vie d'un annuaire il n'est alors considéré que comme des pages supplémentaires du site principal.

A la vue de l'annuaire, il est assez récent donc ne bénéficie peut être pas d'un "trusrank" suffisant accordé par Google (ça ne s'acquière qu'avec le temps).

Pour ton ajout de description sur la Home, le plus simple est d'utiliser les fonctions déjà présentes dans catégorizator et de les adapter.

Il faut tout d'abord remplir une description pour les catégories "mères" (celles de la home). Pour le faire, aller dans l'admin et éditer ces catégories mères.
Après cela la description apparait quand on clique sur un lien d'une des catégories.
Le but maintenant est de faire apparaitre cette description sur l'index.

Attention ce code n'est pas testé et surement pas bon car réalisé à "l'arrache"mais c'est pour donner une idée de ce qu'il faut faire

Dans le fichier index.php, chercher

Code : Tout sélectionner

<span class="nb_scat_index_annuaire">(<?php echo get_nbsites($une_categorie["id"]); ?>)</span><br>
=> c'est la position située juste après l'image et le titre de la catégorie
Juste après place quelque chose comme ça :
code supprimé car script inefficace

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 11:15
par landry
Bonjour, :-D

Alors j'ai essayé mais ça ne fonctionne pas. Le script m'affiche ceci sous toutes les catégories, même celles auxquelles je n'ai pas donné de descriptif :
Retour à l'accueil =>
Tu vois le blème ?

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 11:50
par Keroin
Tu vois le blème ?
Bah oui :sm15: comme j'avais dit c'est fait à l'arrache juste pour montrer une voie possible à suivre :siffle:

Il faut fouiller dans les requêtes sql celle qui appelle le texte indiqué sous chaque catégorie, Peut être avec ça alors (au même endroit)

Code : Tout sélectionner

<?
 //creation requete pour trouver la description de la categorie
   $sql_descr = "SELECT texte FROM $T_categories WHERE id = '$cat_id' ";

//envoi requete
   $res_descr = send_sql($sql_descr,"trouver la description de cette catégorie");

//on affiche la description de la catégorie
    $res_texte = mysql_fetch_array($res_descr,MYSQL_ASSOC);
    if ($res_texte["texte"])
    //si on a une description a affiche
    {
?>
        <center><span class="text_cat_annuaire">
<?php
    echo htmlspecialchars($res_texte["texte"]);
?>
        </span></center>
        <br>
<?php
    }
?>
Pas certain non plus que ça fonctionne mais il faut essayer de tourner le code dans tous les sens et on va finir par obtenir quelque chose de satisfaisant ;-)

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 13:43
par landry
Comme ça il n'y a rien d'affiché, aucun changement par rapport à l'ordinaire. :saipas:

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 16:14
par Keroin
Ah zut, pourtant il ne me semblait pas si mal que ça celui là :-?
Je vois pas trop où ça cloche???
Essaye peut être d'ajouter une petite mention comme "description" juste après

Code : Tout sélectionner

<span class="text_cat_annuaire">
ce qui donnerais

Code : Tout sélectionner

<span class="text_cat_annuaire">Description :
C'est juste pour voir si le souci vient de la requête sql en elle même et si au moins le champ "description :" apparait correctement sous chaque titre de catégorie ou si il y a un bug...
Hésite pas à faire un screen ou a copier/coller les éventuels messages d'erreurs si il y en a ;-)

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 17:38
par landry
Re,

Le code est actuellement en place mais le mot "Description" n'apparaît pas.
Je laisse le script en place au cas ou tu voudrais jetter un oeil sur le code source de la page.

Merci. :-D

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 17:45
par Keroin
Si tu retires les parenthèses { et }, il y a un message d'erreur ou rien ?

Le code source ne m'amène pas grand chose, par contre peut être en postant une portion de code (avec les 20 ligne avant et les 20 d'après) pour essayer de voir ça...

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 18:10
par landry
Si j'enlève {et} le mot "description" apparaît.

Voilà un bout du code :

Code : Tout sélectionner

<?php
//On affiche les 10 meilleurs sites (en clic)
echo '<b>Le Top 10 des meilleurs sites :</b><br><br>';	
while($top = mysql_fetch_array($res_top))
{
if($top['nb_clic_ext'] != 0)	
echo '<a href="' .$top["url"]. '" title="' .$top["description"]. '" target="_blank">' .$top['titre']. '</a> ==> (' .$top['nb_clic_ext']. ' visteur(s) amené(s) ) <br>';
}
?>
		<?php
	//tableau des categories

	//pour chaque categories meres trouvees on les affiche avec leurs X premieres sous-cat
	$i=0;
	while ($une_categorie = mysql_fetch_array($res_cat,MYSQL_ASSOC))
	{
		if ($i%3 == 0) //colonne de gauche et donc nouvelle ligne
			echo "<tr>\n";
		$i++;
		//on affiche la categorie mere
		?>
<td valign="top" width="33%">
<div style="height:5px; display:block;"></div>  
<img src="img/dossier.gif" border=0>
<a href="<?php echo id_to_url($une_categorie["id"],$une_categorie["cat_name"],'1'); ?>" class="link_cat_index_annuaire"><?php echo htmlspecialchars($une_categorie["cat_name"]); ?></a>
 <span class="nb_scat_index_annuaire">(<?php echo get_nbsites($une_categorie["id"]); ?>)</span>
 <?
 //creation requete pour trouver la description de la categorie
   $sql_descr = "SELECT texte FROM $T_categories WHERE id = '$cat_id' ";

//envoi requete
   $res_descr = send_sql($sql_descr,"trouver la description de cette catégorie");

//on affiche la description de la catégorie
    $res_texte = mysql_fetch_array($res_descr,MYSQL_ASSOC);
    if ($res_texte["texte"])
    //si on a une description a affiche
    
?>
        <center><span class="text_cat_annuaire">Description :
<?php
    echo htmlspecialchars($res_texte["texte"]);
?>
        </span></center>
        <br>
<?php
    
?>
<?
 //creation requete pour trouver la description de la categorie
   $sql_descr = "SELECT texte FROM $T_categories WHERE id = '$cat_id' ";

//envoi requete
   $res_descr = send_sql($sql_descr,"trouver la description de cette catégorie");

//on affiche la description de la catégorie
    $res_texte = mysql_fetch_array($res_descr,MYSQL_ASSOC);
    if ($res_texte["texte"])
    //si on a une description a affiche
    {
?>
        <center><span class="text_cat_annuaire">
<?php
    echo htmlspecialchars($res_texte["texte"]);
?>
        </span></center>
        <br>
<?php
    }
?>

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 18:50
par Keroin
Bon on est pas si loin que ça et il y a juste encore un problème dans la requête sql

Code : Tout sélectionner

<?
 //creation requete pour trouver la description de la categorie
   $sql_descr = "SELECT texte FROM 'categories_annuaire' WHERE id = '$cat_id' ";

//envoi requete
   $res_descr = send_sql($sql_descr,"trouver la description de cette catégorie");

//on affiche la description de la catégorie
    $res_texte = mysql_fetch_array($res_descr,MYSQL_ASSOC);
    if ($res_texte["texte"])
    //si on a une description a affiche

?>
        <center><span class="text_cat_annuaire">Description : 
<?php
    echo htmlspecialchars($res_texte["texte"]);
?>
        </span></center>
        <br>
Comme ça peut être :saipas:

Par contre, es tu sûr d'avoir bien édité la description des catégories mères car si c'est le cas on doit retrouver cette description sur la 1ere page de chaque catégorie sous "Retour à l'accueil =>NOM CATEGORIE" hors j'ai cliqué sur quelques catégories mères sans jamais retrouver cette description ???

Re: Recherche script pour Categorizator

Posté : samedi, 10 mai 2008, 20:51
par landry
Oui, il y a celle là -http://www.micro-astuce.com/annuaire/ac ... -p1-1.html

Mais je l'ai caché par erreur dans l'après-midi en essayant de palier à un autre problème. Désolé. :sm7:

Je teste et je te tiens au courant.

Re: Recherche script pour Categorizator

Posté : dimanche, 11 mai 2008, 10:38
par landry
Bonjour, :-D

Le dernier script plante :

Actualités et médias (8) Impossible d'effectuer la requête pour trouver la description de cette catégorie

Voici le message d'erreur renvoyé par la base de données :
1064 : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''categories_annuaire' WHERE id = '0'' at line 1

:saipas:

Re: Recherche script pour Categorizator

Posté : dimanche, 11 mai 2008, 13:31
par Keroin
Et en reessayant avec les propositions précédentes ?
Car du coup, on avait peut être la solution précédemment...

Surtout réessayer en remplaçant

Code : Tout sélectionner

$sql_descr = "SELECT texte FROM 'categories_annuaire' WHERE id = '$cat_id' ";
par

Code : Tout sélectionner

$sql_descr = "SELECT texte FROM $T_categories WHERE id = '$cat_id' ";

Re: Recherche script pour Categorizator

Posté : lundi, 12 mai 2008, 10:49
par landry
Bonjour,

J'ai déjà essayé mais aucune ne fonctionnenent.

Re: Recherche script pour Categorizator

Posté : lundi, 12 mai 2008, 20:21
par Keroin
Bon j'ai essayé pas mal de trucs mais rien ne veut fonctionner correctement :frown:
Je ne vois pas trop ce qui cloche désolé :saipas:

Re: Recherche script pour Categorizator

Posté : lundi, 12 mai 2008, 20:47
par landry
Lui le fait -http://annuaire-musique.narayana.fr/ donc ça doit être possible.

Mais en attendant de trouver la solution je te remercie beaucoup de l'aide que tu as su m'apporter. :-)
Je garde ton site en favoris, très bon accueil et réponse rapide.

Merci :clap:

Re: Recherche script affichage description pour Categorizator

Posté : mercredi, 14 mai 2008, 09:12
par landry
J'ai modifié ainsi le fichier index.php (en rouge) et j'aimerais bien avoir ton avis si tu veux bien.
//creation des requetes
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id = '$cat_id' ";
//nombres de sites et de categories
$sql_nbsites = "SELECT id FROM $T_sites WHERE activation = '1' ";
$sql_nbcats = "SELECT id FROM $T_categories ";
//on va chercher les categories
$sql_cat = "SELECT id,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC";
//on va chercher les infos necessaires sur le site
$sql_admin = "SELECT nb_scats_on_index FROM $T_infos ";
//on va chercher les 10 meilleurs sites
$sql_top = "SELECT nb_clic_ext,titre,description,url FROM $T_sites ORDER BY nb_clic_ext DESC LIMIT 0,10";
//connexion a la BD
$lk = connection_BD();
//envoi des requetes
$res_descr = send_sql($sql_descr,"trouver la description de cette catégorie");
$res_nbsites = send_sql($sql_nbsites,"trouver le nombre de sites");
$res_nbcats = send_sql($sql_nbcats,"trouver le nombre de catégories");
$res_cat = send_sql($sql_cat,"trouver les catégories principales");
$res_admin = send_sql($sql_admin,"trouver le nombre de sous-catégories à afficher");
$res_top = send_sql($sql_top,"trouver le top 10");
La requête se fait bien car si je supprime la ligne :
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id = '$cat_id' ";
J'ai le message d'erreur suivant :

Impossible d'effectuer la requête pour trouver la description de cette catégorie
Voici le message d'erreur renvoyé par la base de données :
1065 : Query was empty
Donc tu es d'accord avec moi pour en déduire que la requête se fait bien mais que c'est l'affichage sur l'index qui ne va pas, soit cette partie du code :
<?php
//on affiche la description de la catégorie
$res_texte = mysql_fetch_array($res_descr,MYSQL_ASSOC);
if ($res_texte["texte"])
//si on a une description a affiche
?>
<center><span class="text_cat_annuaire">
<?php
echo htmlspecialchars($res_texte["texte"]);
?>
</span></center>
<br>
située après :
<span class="nb_scat_index_annuaire">(<?php echo get_nbsites($une_categorie["id"]); ?>)</span>


Pour preuve l'affichage du code source depuis l'explorateur :
<img src="img/dossier.gif" border=0>
<a href="actualites-et-medias-p1-1.html" class="link_cat_index_annuaire">Actualités et médias</a>
<span class="nb_scat_index_annuaire">(8)</span>
<center><span class="text_cat_annuaire">
</span></center>
<br>
Le fichier texte ne s'affiche pas et je ne comprends pas pourquoi, tu vois quelque chose ?
++

Re: Recherche script affichage description pour Categorizator

Posté : mercredi, 14 mai 2008, 12:22
par landry
Ca y est, j'ai trouvé !! :sm2:

Voici la procédure complète pour afficher le descriptif des catégories sur l'index (en ayant pris le soin de donner un descriptif aux catégorie, bien sûr):

Ouvrir index.php et trouver :

Code : Tout sélectionner

if (empty($cat_id))
//si c'est la page d'accueil qui est demandee
{
	//creation des requetes
Ajouter ensuite :

Code : Tout sélectionner

$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC ";
Trouver

Code : Tout sélectionner

//connexion a la BD
	$lk = connection_BD();
	//envoi des requetes
Ajouter ensuite :

Code : Tout sélectionner

$res_descr = send_sql($sql_descr,"trouver la description de cette catégorie");
Trouver

Code : Tout sélectionner

 <span class="nb_scat_index_annuaire">(<?php echo get_nbsites($une_categorie["id"]); ?>)</span>

Ajouter ensuite :
<?php
//on affiche la description de la catégorie
$res_texte = mysql_fetch_array($res_descr,MYSQL_ASSOC);
if ($res_texte["texte"])
//si on a une description a affiche
?>
<center><span class="text_cat_annuaire">
<?php
echo htmlspecialchars($res_texte["texte"]);
?>
</span></center>
<br>
<?php


Et voili, voilou :sm28:
En fait on se plantait avec
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id = '$cat_id' ";
qu'il faut remplacer par :
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC ";
++ :-D

Re: Recherche script affichage description pour Categorizator

Posté : mercredi, 14 mai 2008, 15:48
par Keroin
Bah dis donc tu deviens un killer en php toi :sm15:
Félicitations et surtout merci pour le retour ça pourra servir à d'autres :good: :bravo3:

Re: Recherche script affichage description pour Categorizator

Posté : jeudi, 15 mai 2008, 17:37
par landry
Petite rectification, le bon code pour la requête est :
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC ";
Sinon le descriptif s'affiche mais pas forcémement sous la bonne catégorie.

J'ai rectifié aussi le script juste au dessus.

++ :sm9:

Re: Recherche script affichage description pour Categorizator

Posté : vendredi, 16 mai 2008, 01:49
par Keroin
Il y a quelque chose que je ne comprend pas dans ta requête et qui est surement la cause de
Sinon le descriptif s'affiche mais pas forcémement sous la bonne catégorie.
La partie

Code : Tout sélectionner

FROM $T_categories WHERE id_cat_mere = '0'
signifie que seule la catégorie mère ayant l'id "0" est concernée, hors les catégories sur l'index sont toutes des catégories mères avec une id différente???

Peut être en essayant comme ça pour la requête

Code : Tout sélectionner

$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE activation = '1' ORDER BY cat_name ASC ";
ou

Code : Tout sélectionner

$sql_descr = "SELECT texte,cat_name FROM $T_categories ORDER BY cat_name ASC ";
Non ? :saipas:

Edit : je viens d'aller faire un tour sur la home de ton annuaire et ça semble fonctionner convenablement, tu as changé quelque chose?
Tu devrais mettre une petite phrase complète pour ta description des catégories (au lieu de juste un mot clef parfois) se serait surement mieux point de vue intérêt des moteurs.

ps : tu peux mettre ton/tes sites en signature si tu veux (voir les règles du forum dans la mienne pour les modalités ) ;-)

Re: Recherche script affichage description pour Categorizator

Posté : vendredi, 16 mai 2008, 07:33
par landry
Peut être en essayant comme ça pour la requête

Code:
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE activation = '1' ORDER BY cat_name ASC ";

ou

Code:
$sql_descr = "SELECT texte,cat_name FROM $T_categories ORDER BY cat_name ASC ";


Non ?
Non, ça ne fonctionnera pas, les descriptions seront dans le désordre.
Edit : je viens d'aller faire un tour sur la home de ton annuaire et ça semble fonctionner convenablement, tu as changé quelque chose?
Tu devrais mettre une petite phrase complète pour ta description des catégories (au lieu de juste un mot clef parfois) se serait surement mieux point de vue intérêt des moteurs.
Tu as dû zapper mon message précédent.

J'ai réparé le problème et j'ai modifié le script sur ton site afin de ne pas induire en erreur un internaute voulant l'appliquer.
La bonne requête est :
$sql_descr = "SELECT texte,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC ";
Pour le descriptif tu as certainement raison : une phrase au lieu de mot clé. :-D
++

Re: Recherche script affichage description pour Categorizator

Posté : vendredi, 16 mai 2008, 22:51
par Keroin
Ah zut oui effectivement, désolé, j'avais mal lu et je pensais qu'il y avait encore un souci :rolleyes:

He bien alors dans ce cas tout fonctionne bien et je te réitère donc mes félicitations :bravo3: