categorie d'un site

WRInaute passionné
Bonsoir à tous,

Je cherche à afficher la categorie du site dans mon annu kimkiou.com, sur les fiches des sites (ex: http://www.kimkiou.com/site-411.html je virerai le lien plus tard).

Je pense avoir presque tout essayé mais je n'arrive pas à recuperer la categorie.

Quelqu'un pourai t'il m'aider ?

Merci d'avance,
Deleter23
 
WRInaute accro
id_cat dans la table sites_annuaire

SELECT id_cat FROM sites_annuaire WHERE id=411

EDIT - Et le nom est dans categories_annuaire .
SELECT cat_name FROM categories_annuaire WHERE id=$id_cat
(je te laisse optimiser ;-) )

EDIT 2 - en une fois, ça doit ressembler à ça (vérifier les noms de champs, etc) => (effacé)
EDIT 3 - c'est bon :
Code:
SELECT cat.cat_name, site.id_cat, site.id, cat.id
FROM categories_annuaire AS cat, sites_annuaire AS site
WHERE site.id_cat = cat.id
AND site.id =411
 
WRInaute passionné
Et apres la recup des meta je ferme la connection mysql.
C'est compliqué parsque je suis plus dans l'annu, il faut que je recupere tout, et je suis pas assez bon (ou trop nul c'est à voir :lol: )

Je voir pas trop comment lancer tes requetes et apres recuperer les infos.

Je te remercie d'avance,
Deleter23
 
WRInaute accro
$sql = "SELECT cat.cat_name, site.*, cat.id
FROM categories_annuaire AS cat, sites_annuaire AS site
WHERE site.id_cat = cat.id
AND site.id =".$_GET['id'];

=> ta nouvelle requête

Là, tu as tout. Après, le script reste grosso modo le même. Faire print_r($data) pour voir ce qu'il y a dans ta variable (clef et valeur).
 
WRInaute passionné
Euhh, c'est normal ? :lol:
Se coup si je recupere toutes les infos d'un seul coup 8O
Comment je fait pour ne garder que la categorie ?

MDA
 
WRInaute accro
deleter23 a dit:
Apparement ca vient du print_r($data), il m'affiche tout se qu'il y a dans la base sur le site.

Oui, je t'ai dit de faire ça au debug pour voir le nom des clefs dans la variable $data (parce que je ne suis pas sûr du nom des clefs dans ta variable $data).
Après tu fais $data['cat_name] (donc : vérifier au print_r que 'cat_name' est le bon nom de clef) pour afficher la catégorie.

EDIT - si tu n'en sors pas, donne-moi ce que te sort le print_r.
 
WRInaute passionné
Ca m'enerve :evil:

Voila se qu'il me donne:

Code:
Array ( [0] => 411 [id] => 411 [1] => 56 [id_cat] => 56 [2] => Histoire drole [titre] => Histoire drole [3] => Histoire Drole.net, le site officiel du rire et de la bonne humeur. Notre site recence déja plus de 1000 blagues et histoires, ainsi que des images droles, des videos et des jeux flash ! [description] => Histoire Drole.net, le site officiel du rire et de la bonne humeur. Notre site recence déja plus de 1000 blagues et histoires, ainsi que des images droles, des videos et des jeux flash ! [4] => http://www.histoire-drole.net [url] => http://www.histoire-drole.net [5] => [url_image] => [6] => del [nom_proprio] => del [7] => del********** [email_proprio] => ************net [8] => 2006-05-18 [date_validation] => 2006-05-18 [9] => 1 [activation] => 1 [10] => 1 [niveau] => 1 [11] => 464 [nb_clics] => 464 [12] => 9.71 [moyenne_votes] => 9.71 [13] => 89 [nb_votes] => 89 [14] => 0 [nb_com] => 0 )

et je le vois pas le cat_name et normalement c'est ca
peut etre je j'ai mal mis ton code ?

Merci d'avance, j'espere que tu dort pas ? :lol: [/quote]
 
WRInaute accro
peut etre je j'ai mal mis ton code:

Glups, oui ! :-D

Code:
<?php 
//fichier qui contient vos meta-tags et tout ce qui doit venir dans la partie HEAD de vos pages

//page principale de l'annuaire 
include("data_bd_annuaire.php"); //variables de l'annuaire

// on se connecte à MySQL 
$db = mysql_connect(*******************l); 

// on sélectionne la base 
mysql_select_db(*************); 

// on crée la requete SQL 
$id = htmlentities($_GET['id']); 

$sql = "SELECT cat_name, site.*, cat.id FROM categories_annuaire AS cat, sites_annuaire AS site  WHERE site.id_cat = cat.id AND site.id=".$_GET['id'];

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_array($req)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    
    print_r($data);

echo '<p><left><h1><strong><FONT size=4>'.$data['titre'].'</FONT></strong></h1></left><br /> 
<br /> 
Site: <strong><FONT size=2><a href="'.$data['url'].'"target="blank">'.$data['titre'].'</a></FONT></strong><br /> 
Ajouté le '.$data['date_validation'].'<br /> 
'.$data['description'].'<br /> 
<a href="'.$data['url'].'"target="blank">'.$data['url'].'</a></p>';    
echo '<title>'.$data['titre'].'</title>';?>

Non, je ne dors pas, ça doit être à peu près ce code-là.
Teste et dis moi ce que ça donne.
 
WRInaute passionné
:lol: Ca marche :lol: Je te remercie

Ta une idée de comment recuperer le lien ?
Le plus dur est fait je pense :oops:

Merci d'avance,
++
 
WRInaute accro
deleter23 a dit:
:lol: Ca marche :lol: Je te remercie

Ta une idée de comment recuperer le lien ?
Le plus dur est fait je pense :oops:

Merci d'avance,
++

Sans Url rewriting : index.php?cat_id=1
Avec Url rewriting : je sais pas (aller voir dans le code)
 
WRInaute accro
deleter23 a dit:
Ok, je verai ca demain

Je te remerci pour ton aide

Pour l'URL réécrite, voir du côté de
function id_to_url ()
dans functions.php.

A première vue, c'est elle qui fait la réécriture.

Tu as un exemple d'appel à la ligne 114 dans index.php.


Question HS : pour avoir un lien vers une fiche par site, tu te bases sur un patch public de Categorizator ?
 
WRInaute passionné
Non c'est packref qui à fait un t'i tuto, apres j'ai fait un peu à ma sauce

Suis le lien en bas, "une page par site pour phpmyannu" :wink:
 
WRInaute passionné
Apparement il faut definir la fonction avant:

Fatal error: Call to undefined function: id_to_url() in /home.10/galaxien/www/kimkiou/infos.php on line 143

Maintenant je me couche :lol:

Si tu as une revelation pendant la nuit...

++
 
WRInaute passionné
J'ai essayé l'include de functions mais ca ne change rien du tout et ca je sais faire :wink:

J'ai bien etudié les fichier ca m'a l'air bien complexe et le id_in_url si je me souvient bien je l'ai exclut parsque ca correspond pas vraiment.
J'ai trouvé la function pour afficher la cat dans le top clics, votes etc... et je pense que je vais m'orienter plutot la dessus.

Si tu veux tu peux chercher aussi :lol:
Je te tient au courant des avancées si il y en a...

++ Deleter23
 
WRInaute passionné
Un petit peu de lecture:

Code:
	<?php
} // fin du if ($type == "index" || $type == "search")

if ($type != "index") //on ajouter un lien vers la categorie (-> moteur de recherche)
{
	$lk = connection_BD();
		$arbogreen = show_arbo_en_ligne($resultat["id_cat"], "index.php", " > ");
		$arbogreen = preg_replace("!<a href=\"[^\"]+\">Accueil</a> > !i", '', $arbogreen);
		$arbogreen = eregi_replace('class="arbo_annuaire"', 'class="arbo_annuaire_petit"', $arbogreen);
	mysql_close($lk);
	
	echo "<span class=\"link_to_cat_annuaire\">$arbogreen</font></a></span>\n";
}


if ( preg_match("/nouveautes\.php|top_clics\.php|top_votes\.php/",$_SERVER{REQUEST_URI}) )
{
echo <<<EOF
</td></tr>
</table>
EOF;
};
?>

Quesque tu en pense ? Parsque c'est pas utilisable en l'etat.

EDIT: quand je l'ai essayé ce matin, ca poser un probleme avec l'overture de la connection.
 
WRInaute passionné
Si je met le code dans l'etat il me donne un probleme de connection mysql fermé.
Et je peu pas mettre dans l'etat du style:

Code:
$arbogreen = show_arbo_en_ligne($resultat["id_cat"], "index.php", " > ");

Parsque il connais pas arbogreen
Il faut que j'essais de refaire l'include de functions....
 
WRInaute passionné
Dans tout les cas de figure il connait pas "show_arbo_en_ligne" donc il me donne un erreur. Malgé l'include de functions.
 
WRInaute accro
show_arbo_en_ligne appelle id_to_url (je pense que c'est d'ailleurs comme ça que j'étais tombé dessus hier soir). Donc, je pense que c'est bien id_to_url qu'il faut utiliser. Je ne sais pas t'en dire plus pour le moment, je n'ai pas testé et j'ai vu qu'il accédait à des variables globales dans la fonction (ça ne simplifie pas).

EDIT - Une minute...

EDIT - En fait, faut pas se casser la tête. Va voir dans id_to_url et dans id_to_url_info (au dessus).
Ton URL, c'est ça, pour les catégorie (sauf erreur) : $url-p$page-$id$suffixe
$url, c'est la mise en URL du nom de ta catégorie et ça t'est donné par l'expression
Code:
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
Tu mets $page à 1 et $id à l'id de ta catagorie. $suffise vaut .html (voir code de la fonction). $car_speciaux et $car_normaux sont donnés dans url_to_id_info. Sur cette base-là, tu peux réécrire ton URL (j'ai pas testé mais ça doit être bon ; par contre, ya sans doute moyen de faire plus "générique").
 
WRInaute passionné
Tu a un annuaire ? Parsque sinon je te fil mon fichier pour que tu test, tu as presque rien à modifier pour appeler la fiche du site. Et ma page tu n'a que le nom de la base a rentré, j'ai simplifié un peu.

Ca serai plus simple, parsque je suis vraiment debutant, j'apprend en gallerant :lol: et c'est possible que j'applique mal tes conseils, y'a tellement de truc et un point virgule et si vite oublié...

Ca serait vraiment sympa... 8)

++

EDIT: je vient de lire se que tu a ecrit, je reflechie 8O

EDIT2: je reflchie toujours mais je souris :D

EDIT3: mdr , le probleme c'est les categories avec plusieurs mots, il faut inserai les tirets.
 
WRInaute accro
Non, je n'ai pas d'annuaire, j'ai juste une install de base que j'ai installée la semaine dernière pour tester, avec une catégorie et deux sites ;-).

Pour essayer de faire court (parce que je fais autre chose en même temps).

Tu as cette expression :

$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );

C'est elle qui te "calcule" le nom de la catégorie pour l'URL, avec des tirets, en supprimant les accents, etc.

La valeur de $car_speciaux, $car_normaux et $caracteres ($cat, logiquement, ça doit être le nom de ta catégorie) sont données dans id_to_url_info. Tu les reprends, tu initialises les variables avec ces valeurs avant $url dans ton code. Tu dois avoir :

$car_speciaux = ...
$car_normaux = ...
$url = (l'expression d'en haut).
Puis tu calcules l'URL de ta catégorie :

$url_cat = $url-p$page-$id$suffixe;
avec :
$p = 1;
$suffixe = ".html";
$id = (l'identifiant de la catégorie);

Teste avec ça.

PS : tu as quelles connaissances en programmation ?
 
WRInaute passionné
Je te remercie, je vais voir avec ca

Mais connaissances en programmation, euh, pas grand chose. J'ai pas fait d'ecole en info et j'ai un peu appris au fil des modif apporté aux annu, forum, cms, scripts etc... que j'ai modifiés.
 
WRInaute passionné
Bon, j'arrive à rien :twisted:

Je t'envoi le code complet en MP, si ta le temps de regarder aujourd'hui ou demain ca serai cool.

J'ai essayé de tous inserai mais je n'arrive pas à recuperai quoi que se soit, meme l'id cat je n'y arrive plus.

Le pire c'est que j'ai pas d'erreur (ou pas tout le temps).

Si tu pouvais essayé de les inserai correctement ca serais vraiment sympa. La je sature...

A++ Deleter23
 
WRInaute accro
deleter23 a dit:
Bon, j'arrive à rien :twisted:

Je t'envoi le code complet en MP, si ta le temps de regarder aujourd'hui ou demain ca serai cool.

J'ai essayé de tous inserai mais je n'arrive pas à recuperai quoi que se soit, meme l'id cat je n'y arrive plus.

Le pire c'est que j'ai pas d'erreur (ou pas tout le temps).

Si tu pouvais essayé de les inserai correctement ca serais vraiment sympa. La je sature...

A++ Deleter23

Teste en prenant des valeurs en dur pour l'id et le nom de catégorie (principe de base en débug, partir de problèmes simples ;-)).
 
WRInaute accro
<?php

$cat = "Actualités et médias";
$id = 1;

$p = 1;
$suffixe = ".html";

$caracteres = 50;
$car_speciaux = array( 'À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê','ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý' );
$car_normaux = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I','I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y' );

$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );

$url_cat = "$url-p$page-$id$suffixe";

echo $url_cat;

?>

Voilà...

Ca sort : actualites-et-medias-p-1.html

Après, ya plus ka intégrer.

(tu constateras que c'est très exactement ce que je t'ai expliqué quelques posts plus haut)
 
WRInaute passionné
Ca marche :lol:

C'etait long mais bon, merci de m'avoir tenu la main :wink:
C'est cool, j'ai appris plein de truc utils.

Re-merci,
A++ deleter23
 
Nouveau WRInaute
deleter23 a dit:
Non c'est packref qui à fait un t'i tuto, apres j'ai fait un peu à ma sauce

Suis le lien en bas, "une page par site pour phpmyannu" :wink:


Désolé mais ce lien n'est plus et j'aurai bien aimé l'avoir car je ne le trouve nulle part.
comment installer ce système pour notre annuaire categorizator

merci de me faire un signe si quelqu'un a la source du code
 
Discussions similaires
Haut