Chose Impossible !

Répondre
Shinji-49
le 06/08/2004 à 17:51
Shinji-49
Bonjour,
Aller un petit roman pour une belle histoire...
Je suis aussi webmaster d'un site pour lequel je boom dans la conception du script qui aura à sa version 1.2 ! Ce script est un annuaire car j'utilise pour le moment phpmyannu qui est un code merdique et dont je comprend presque rien au sens. Voila pourquoi je veut faire mon script, pouvoir le modifier quand je veut ! Bon j'ai un gros problemes qui est poiur Impossible mais pourtant PHPMyAnnu la fait ! Vous devez connaitre, il y a une adresse qui ce forme en haut en fonction que vous parcourez l'annuaire et bien je veut faire pareille mais comment ? Je doit faire en sorte que l'adresse soit listé d'une catégorie à l'accueil quand nous somme dans cette meme catégorie ! Ce qui veut dire en clair que je doit retrouver par exemple l'arriere l'arriere catégorie mere de l'arriere catégorie mere de la catégorie mere de la catégorie ! Donc la question comment listé cette adresse ?

J'ai une autre question que je pensai tres facile mais en faite pas du tout. Je veut afficher le nombre de sites total d'une catégorie en contant les sites de ses sous catégorie, sous catégorie.. qui varient d'une catégorie principal a une autre !

Voila, réponder bien car j'ai souvant tendance a rien comprendre ! lol
Webmaster Principal de http://www.kyloo.com !
anasha
le 06/08/2004 à 18:04
anasha
Bin en fait, l'url que tu as sur ton site, c'est une url simplfiée, mais en fait c'est bien un truc du genre

page.php?var=variable

Dans d'autres post on a deja abordé ca (comment faire des url simplifiée)

Pour le nombre total par categorie, tu fais un
SELECT COUNT (champ) as nb_champ WHERE categorie=ta_categorie
Ensuite tu affcihe ca avec un
echo $nb_champ;

VOUALA !!
Anasha [php-kiche-nomore]
moogli
le 06/08/2004 à 18:36
moogli
Salut,
je pense que tu veut faire une espèce de barre de navigation nan? smiley (mère>fille>p'tite fille>)

Ben comme tu sais sur quel page tu est tu sais d'ou tu peut venir nan c'est donc simple (a mon avis).
Si non tu peut utiliser un variable dans l'url qui t'indique la provenance (en utilisant par exemple le mode rewrite d'apache comme t'indique anasha).

Quand a phpmyannu je ne connais pas mais je ne pense pas que le code merdique parce que tu ne le comprend pas! eux ils on réussi a faire ce que tu n'arrive pas a faire smiley .....

@+
Il en faut peu pour être heureux !!!!!
LA GLOBULE
le 06/08/2004 à 19:57
LA GLOBULE
Je pense avoir compris son probleme.

Il veut créer une arborescence, avec une profondeur inconuue à la base.

Probleme : comment Stocker un arbre de profondeur inconnue en SQL ?

Avec une base de données objets, style O2 et en travaillant en OQL (et non SQL), c'est facile. Très facile meme.

En SQL, ca pause problème.
Ca pause problème car on ne sait jamais comment stocker l'information qui dit que X est parent de Y, tout en sachant que Z peut aussi etre parent de X.

Bref, pour ce genre de probleme, soit on utilise XML, soit on fait un truc en SQL (qui sera extremement lourd), soit on le fait en PHP objet, en stockant les objets php dans une base SQL.
Shinji-49
le 06/08/2004 à 21:38
Shinji-49
Moogli et la globule vous avez compris ! Et sa s'appelle bien l'arborescence ! ton paragraphe avec les X, lmes Y et les Z explique tres bien mon probleme ! Je fait que de regarder le code de phpmyannu qui est tout simple et non lourd comme tu le dirai ! De plus j'utilise Mysql et je ne connais pas le language XML ! Voici le code de PHPMyAnnu :
function show_arbo_en_ligne($id_cat,$page_name = "index.php",$sep = " > ", $sessid = false)
//affiche l'arborescence en ligne a partir d'une categorie
//on part de la categorie dans laquelle on se trouve et on remonte vers les categories meres
{
global $T_categories; //nom de la table utilisee

$accueil = "<span class=\"arbo_annu\"><a href=\"";
if (!$sessid)
$accueil .= $page_name;
else
$accueil .= addsess2url($page_name,$sessid);
$accueil .= "\">Accueil</a>". $sep ."\n";

$id_cat_mere = 1;//pour rentrer dedans
while($id_cat_mere)
{
//on va chercher le nom et la categorie mere
$sql = "SELECT id_cat_mere,cat_name FROM $T_categories WHERE id = '$id_cat' ";
$res = send_sql($sql,"créer l'arbo en ligne");
$result = mysql_fetch_array($res,MYSQL_ASSOC);
$id_cat_mere = $result["id_cat_mere"];
$nom = $result["cat_name"];
//lien vers la nouvelle categorie a ajouter dans la ligne

if (!$sessid)
$arbo = "<a href=\"$page_name?cat_id=$id_cat\">".$nom."</a>" . $sep . $arbo;
else
$arbo = "<a href=\"".addsess2url("$page_name?cat_id=$id_cat",$sessid)."\">".$nom."</a>" . $sep . $arbo;
// on passe au suivant
$id_cat = $id_cat_mere;
}
//il faut enlever le separateur qui est en trop la fin...
$arbo = substr($arbo,0,strlen($arbo)-strlen($sep));
$arbo .= "</span>\n";
return $accueil.$arbo;
}

function path2cat($cat_id,$separateur = " > ")
//retourne le chemin complet vers une categorie pour la liste complete des categories
{
global $T_categories; //nom de la table utilisee

$id_cat_mere = 1;

while($id_cat_mere)
{
//creation de la requete
$sql = "select cat_name,id_cat_mere from $T_categories where id = '$cat_id'";
//envoie de la requete
$res = send_sql($sql,"trouver le chemin vers un catégorie dans la création de la liste");
//traitement des resultats
$resultat = mysql_fetch_array($res,MYSQL_ASSOC);
$id_cat_mere = $resultat["id_cat_mere"];
$cat_name = $resultat["cat_name"];
//creation du chemin
if(empty($path))
$path = $cat_name;
else
$path = $cat_name . $separateur . $path;
//on passe au suivant
$cat_id = $id_cat_mere;
}
return $path;
}

function is_scat_of($id_fille,$id_mere)
//verifie si une sous-categorie est la fille(petite fille, arriere petite fille,...) d'une categorie donnee
{
global $T_categories; //nom de la table utilisee
if ($id_fille == 0)
return false;
//creation de la requete
$sql = "SELECT id_cat_mere FROM $T_categories WHERE id = $id_fille ";
//envoi de la requete
$res = send_sql($sql,"trouver la categorie mere");
//traitement du resultat
$id_cat = mysql_result($res,0,"id_cat_mere");

if ($id_cat == $id_mere)
return true;
else
return is_scat_of($id_cat,$id_mere);

voila ce que j'ai trouver la dessu dans le fichier fonctions de PHPMyAnnu ! Sa pas l'air d'etre si lourd que sa ! Mais moi j'y comprend rien alors sa m'aide pas du tout ! Autrement avec XML c'est compliqué ? Quel qu'un pourait me le faire gratuitement ?
Webmaster Principal de http://www.kyloo.com !
Shinji-49
le 06/08/2004 à 21:40
Shinji-49
http://www.lephpfacile.com/wall/lire_wall.php?wall=1603 c'est un lien vers le wall pour voir le code car sa fait pas beau sur le forum!
Webmaster Principal de http://www.kyloo.com !
Shinji-49
le 06/08/2004 à 22:06
Shinji-49
Ha oui Oups ! J'ai po regarder ce que sa rendait ! Alors la globule tu serai ?
Webmaster Principal de http://www.kyloo.com !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours