5568 sujets

Sémantique web et HTML

Pages :
(reprise du message précédent)

totopsy a écrit :


HS : As-tu un / des sites à fort traffic afin de regarder le % d'adblock sur le Web ?


Pas de fort traffic.. J'ai un petit site qui fait entre 300 et 400 visiteurs/jours pour le moment.. Faudra au moins un mois je pense pour avoir des statistiques représentatives avec ce nombre de visite et encore..
Sinon mes dernières nouvelles.. J'ai réussi à afficher quelque chose dans le body de ma page client avec jquery. J'ai pu reconstruire tous les liens de mes catégories. Mais là je bloque sur comment trier tout ça.. Pour le moment ça apparait simplement dans le même ordre que dans ma BDD. J'ai bien vu quelque script de tri, mais rien ne semble vraiment adapté sachant que je dois trier par catégories et inclure les sous-catégories sous leur parente..

Pour aller au plus simple, je vais oublier cette histoire de menu déroulant, et faire un menu en liste

Actuellement j'ai mes objets qui contiennent 4 valeurs dont les deux nécessaires pour le tri sont:
val[2] = l'id parent de ma catégorie
val[3] = l'id de la catégorie.

j'ai fait un menu à liste simple que j'aimerai remplir avec ça :

<div id="category_container">
	<ul id="menu">
		<li id="key" class="cat">
			<ul>
				<li id="key" class="subcat">
					<ul>
						<li id="key" class="subsubcat">...</div>
					</ul>
				</li>
			</ul>
		</li>
	</ul> 
</div>


Et là je sais pas du tout dans quelle direction aller.. Une piste ?
Salut !

C'est bien, tu avances vraiment pas mal !

Bon, alors, pour l'affichage, il va falloir s'y prendre en plusieurs étapes.

Déja, il te faut 2 tableaux (en JS). Pour cela, il va peut-etre que tu fasses un peu de traitement en PHP avant l'envoi en JSON

Il te faut un tableau catégories et un sous catégories en gros.

Ton tableau catégorie, contient un ID et le NOM.

Tu affiches le nom, et tu met un attribut
data-categorie-id="id_de_ta_catégorie"
sur ton
<option>
du select.
Ensuite, tu récupères cet attribut
.on('change') 
en gros.

Et, grâce à l'autre tableau, en gros, tu vas récupérer dans ton second tableau (qui est en fait un double tableau!) les sous-catégories.

concrètement, $sous_catégories[$catégorie_id] = array(de toutes tes sous catégories).

C'est du pseudo code Smiley cligne

Tu comprends le principe ?
totopsy a écrit :
Salut !

C'est bien, tu avances vraiment pas mal !

Bon, alors, pour l'affichage, il va falloir s'y prendre en plusieurs étapes.

Déja, il te faut 2 tableaux (en JS). Pour cela, il va peut-etre que tu fasses un peu de traitement en PHP avant l'envoi en JSON

Il te faut un tableau catégories et un sous catégories en gros.

Ton tableau catégorie, contient un ID et le NOM.

Tu affiches le nom, et tu met un attribut
data-categorie-id=&quot;id_de_ta_catégorie&quot;
sur ton
&lt;option&gt;
du select.
Ensuite, tu récupères cet attribut
.on('change') 
en gros.

Et, grâce à l'autre tableau, en gros, tu vas récupérer dans ton second tableau (qui est en fait un double tableau!) les sous-catégories.

concrètement, $sous_catégories[$catégorie_id] = array(de toutes tes sous catégories).

C'est du pseudo code Smiley cligne

Tu comprends le principe ?


Merci pour cette réponse Smiley smile .

je comprends à peu près l'idée. Mais une question.., si je pars sur ce principe, je vais obligatoirement avoir uniquement deux "select". Un catégorie, et un sous-catégories?. Le problème c'est que dans les sous catégories, j'ai parfois encore des sous-sous catégories. C'est un genre d'arbre. Faut-il alors que j’envoie 3 tableaux ou plus pour palier à ce genre d'éventualité ?

J'ai trouvé un code qui semble pouvoir s'adapter à un seul objet à traiter et recréer l'arbre.. http://jsfiddle.net/Tomalak/uUBKf/

Je n'ai pas réussi à l'utiliser dans mon cas, mais ça m'a bien l'air d'être ce que je cherche à faire. Qu'en penses-tu ?
Je pense qu'il faut dans ce cas, que tu envoi un double tableau à la base Smiley smile

Rien de bien compliqué encore.

Concrètement :

Tu envoi un paramètre : $nbSelect.
Et ton tableau : $tab = array(array(), array(), array())

En gros, : $nbSelect = le nombre de select
Et ton tableau, dedans tu as autant de "sous tableaux" que dans ton nbSelect.

Tu vois le principe ?
totopsy a écrit :
Je pense qu'il faut dans ce cas, que tu envoi un double tableau à la base Smiley smile

Rien de bien compliqué encore.

Concrètement :

Tu envoi un paramètre : $nbSelect.
Et ton tableau : $tab = array(array(), array(), array())

En gros, : $nbSelect = le nombre de select
Et ton tableau, dedans tu as autant de &quot;sous tableaux&quot; que dans ton nbSelect.

Tu vois le principe ?


J'avoue que là je suis perdu..
Je dois créer une variable $nbSelect..
$nbSelect = '';
?
Mais je vois pas à quel moment je peux attribuer une valeur à cette variable, puisque je ne peux pas savoir quel sera le nombre de select justement, vu que ça varie selon les catégories...

Je sens que je vais finir par t'embaucher Smiley lol .
Désolé, j'étais un petit peu pris en ce moment.

Alors, ta variable contient le nombre de catégories.

Après toutes tes sous catégories seront chargées dans un tableau inférieur.
En gros (On va prendre l'exemple de voitures):

$tableau = array();
$tableau['marques'] = array('Peugeot', 'Renault', 'Porsche', 'Lada'); //4 Marques
$tableau['marques_ss'] = array(1, 2, 1, 3); // Nombre de sous catégories

$tableau['Peugeot'] = array('106', '206', '306', '406'); // Sous catégorie 1
$tableau['Renault'] = array('Clio' => array('1.6', '1.8', '1.9'), 'Modus' => array('1.5','turbo essence 250chx), 'Scenic' => array('1.5'), 'Laguna' => array('2.0'));
$tableau['Porsche'] = array('911', 'Carrera', 'Cayenne');
$tableau['Lada'] = array('Lada1' => array('1.9' => array('bleu', 'vert'), '2.0' => array('noir', 'blanc')), 'LadaDeMerde' => array('6.0' => array('Rouge', 'jaune'));


Tu comprends mieux ? Smiley smile

J'ai pas essayé le code, mais déjà tu sais comment générer tes tableaux Smiley smile

Il me semble qu'il manque des parenthèse. Je te laisse corriger Smiley cligne
Modifié par totopsy (18 Mar 2014 - 12:12)
totopsy a écrit :
Désolé, j'étais un petit peu pris en ce moment.

Alors, ta variable contient le nombre de catégories.

Après toutes tes sous catégories seront chargées dans un tableau inférieur.
En gros (On va prendre l'exemple de voitures):

$tableau = array();
$tableau['marques'] = array('Peugeot', 'Renault', 'Porsche', 'Lada'); //4 Marques
$tableau['marques_ss'] = array(1, 2, 1, 3); // Nombre de sous catégories

$tableau['Peugeot'] = array('106', '206', '306', '406'); // Sous catégorie 1
$tableau['Renault'] = array('Clio' =&gt; array('1.6', '1.8', '1.9'), 'Modus' =&gt; array('1.5','turbo essence 250chx), 'Scenic' =&gt; array('1.5'), 'Laguna' =&gt; array('2.0'));
$tableau['Porsche'] = array('911', 'Carrera', 'Cayenne');
$tableau['Lada'] = array('Lada1' =&gt; array('1.9' =&gt; array('bleu', 'vert'), '2.0' =&gt; array('noir', 'blanc')), 'LadaDeMerde' =&gt; array('6.0' =&gt; array('Rouge', 'jaune'));


Tu comprends mieux ? Smiley smile

J'ai pas essayé le code, mais déjà tu sais comment générer tes tableaux Smiley smile

Il me semble qu'il manque des parenthèse. Je te laisse corriger Smiley cligne


Pas de soucis, tu es déjà bien gentil de m'aider Smiley smile

Alors je comprends bien ton exemple, enfin je pense ^^. Mais j'ai toujours cette même inconnue que sont le nombre de catégories, de sous catégories ou sous sous catégories... Car ces éléments vont évoluer dans la base de données. Je dois donc mettre en place une solution sans maintenance de préférence.

Je pense à un genre de code générique dans lequel on ne spécifie aucune valeur, qui dirait en gros "créer un tableau pour chaque id_parent, et y inclure les objets ayant le même id_parent... "

Je vais t'envoyer un petit mail pour avoir quelques infos..
Pages :