Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 10h10   #1
Invité régulier
 
Homme julien
Étudiant
Inscription : mai 2011
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme julien
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 94
Points : 7
Points : 7
Par défaut Concatenation de parametre URL

Bonjour,

Je vais essayé de vous poser mon pb le plus précisément possible ^^
Je fais un site php qui doit afficher des images (images de graph générées par munin etc..).
Pour afficher mes images, j'ai trois critères : le système d'exploitation(windows ou linux) , le nom du composant(cpu, disque etc) et la "fréquence"(jour, semaine, mois etc).

Pour faire ça, j'ai créé en php/css un menu déroulant qui regroupe ces différents critères.

La méthode la plus simple selon moi, est d'appeler toujours la même page avec des variables différentes ( méthode GET quoi). Seulement voilà, l'url vers laquelle pointe chaque lien de mon menu déroulant est ecrite de cette façon :
menu.php?system=windows ou ?materiel=cpu etc etc

Comme vous l'aurez compris, j'ai besoin à chaque fois de trois critères pour pouvoir afficher mes img or là avec mes liens j'en ai qu'un à chaque fois

J'ai testé plusieurs choses, en testant si tel ou tel GET était définis etc mais bon... j'arrive jamais à mes fins.. Donc si il y avait une méthode pour pouvoir concaténer les paramètres de mes url afin de les garder consécutivement au fur et à mesure ça serait bien =) (un genre de fil d’Ariane quoi mais dans mon URL) merci d'avance =)

PS : si il existe une FAQ là dessus excusez moi.. j'ai regardé mais à première vu je n'ai pas trouvé
pra3t0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 10h19   #2
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
Bonjour,
tu peux passer plusieurs paramètres dans ton url :
Code :
menu.php?sys=win&mat=cpu&freq=jour
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 10h46   #3
Invité régulier
 
Homme julien
Étudiant
Inscription : mai 2011
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme julien
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 94
Points : 7
Points : 7
Oui je sais mais voilà ce que je veux dire :
(mon menu):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<li><a href="">OS</a>
				<ul class="sousMenu">
					<li><a href="menu.php?system=windows">Windows</a></li>
					<li><a href="menu.php?system=linux">Linux</a></li>
				</ul>
			</li>
 
            <li><a href="">Materiels</a>
				<ul class="sousMenu">
					<li><a href="menu.php?materiel=Cpu">CPU</a></li>
					<li><a href="menu.php?materiel=CpuAdmin">CPUAdmin</a></li>
					<li><a href="menu.php?materiel=Disque">Disque Dur</a></li>
					<li><a href="menu.php?materiel=Memory">Mémoire RAM</a></li>
					<li><a href="menu.php?materiel=Reseau">Réseau</a></li>
					<li><a href="menu.php?materiel=Utilisateur">Utilisateurs</a></li>
				</ul>
			</li>
 
            <li><a href="">Fréquence</a>
				<ul class="sousMenu">
					<li><a href="menu.php?frequence=day">Jour</a></li>
					<li><a href="menu.php?frequence=week">Semaine</a></li>
					<li><a href="menu.php?frequence=month">Mois</a></li>
					<li><a href="menu.php?frequence=year">Année</a></li>
				</ul>
			</li>
(mes liens sont volontairement 'nul' pour cette exemple)
Ce que je voulais dire c'est qu'imagine que par défaut on va dire que tu soit sur la page "windows" donc ton url ressemblerai à ça (d’après ton exemple) :
Code :
menu.php?system=windows&materiel=materielpardefaut&frequence=frequencepardefaut
Mais si le gars clique sur un type de materiel je devrais avoir ça :
Code :
menu.php?system=windows&materiel=lematerielcliqué&frequence=frequencepardefaut
Or si le gars clic et change la frequence par "year" par exemple, il perdra le paramètre "materiel=materielchoisi".
Je sais pas si tu vois ^^ mais je cherche une espèce de concaténation de variable en fonction de la navigation.

Autre exemple plus "imagé" j'ai : windows=>cpu=>day (sachant que ça, c'est mes paramètres par défaut ; je les afficherai toujours quand la page s'ouvre pour la première fois)
La personne "change" de matériel : windows=>disk=>day là OK
MAIS si la personne change la date : windows=>disk=>year par exemple, ben normalement je ne devrais pas garder obligatoirement le paramètre "disk" il devrait revenir à "cpu" et ça, j'aime pas ^^"
pra3t0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h00   #4
Membre du Club
 
Homme
Développeur Web
Inscription : décembre 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2011
Messages : 32
Points : 53
Points : 53
A ok, excuse moi je n'avais pas compris.
Pourquoi tu n'utilise pas un formulaire? Ca serait plus simple pour toi et pour l'utilisateur qui n'aurait pas à cliquer sur 3 liens différents mais aurait juste à remplir les 3 champs.

Si tu veux vraiment utiliser des liens, tu peux les génrer à chaque fois que l'utilisateur clique sur un lien en fonction des paramètres qu'il a choisit :

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$frequence = (!empty($_GET["frequence"])) ? $_GET["frequence"] : "frequenceParDefaut";
$system = (!empty($_GET["system"])) ? $_GET["system"] : "systemParDefaut";
$materiel = (!empty($_GET["materiel"])) ? $_GET["materiel"] : "materielParDefaut";
?>
<li><a href="">OS</a>
	<ul class="sousMenu">
		<li><a href="menu.php?system=windows&frequence=<?php echo $frequence; ?>&materiel=<?php echo $materiel; ?>">Windows</a></li>
		<li><a href="menu.php?system=linux<?php echo $frequence; ?>&materiel=<?php echo $materiel; ?>">Linux</a></li>
	</ul>
</li>
 
<li><a href="">Materiels</a>
	<ul class="sousMenu">
		<li><a href="menu.php?materiel=Cpu&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">CPU</a></li>
		<li><a href="menu.php?materiel=CpuAdmin&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">CPUAdmin</a></li>
		<li><a href="menu.php?materiel=Disque&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Disque Dur</a></li>
		<li><a href="menu.php?materiel=Memory&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Mémoire RAM</a></li>
		<li><a href="menu.php?materiel=Reseau&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Réseau</a></li>
		<li><a href="menu.php?materiel=Utilisateur&system=<?php echo $system; ?>&frequence=<?php echo $frequence; ?>">Utilisateurs</a></li>
	</ul>
</li>
 
<li><a href="">Fréquence</a>
	<ul class="sousMenu">
		<li><a href="menu.php?frequence=day&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Jour</a></li>
		<li><a href="menu.php?frequence=week&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Semaine</a></li>
		<li><a href="menu.php?frequence=month&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Mois</a></li>
		<li><a href="menu.php?frequence=year&materiel=<?php echo $materiel; ?>&system=<?php echo $system; ?>">Année</a></li>
	</ul>
</li>
osore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h10   #5
Invité régulier
 
Homme julien
Étudiant
Inscription : mai 2011
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme julien
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 94
Points : 7
Points : 7
Oui, on veux vraiment avoir un menu de type (nav)igation ^^ car d'après ce que je sais on ne peux pas mettre du css sur des éléments de type POST enfin je me trompe peut être..

En tout cas oui, à première vu ton code colle plus à ce que je recherche
Mais je vais l'adapter à mon code pour afficher mes img avant de crier Victoire ^^
Mais oui, ça à l'air pas mal. j'avais à peu près cette idée là mais j'avais du mal à structurer et imaginer l'algo ^^' si ça marche au moins j'aurai appris un truc =)
pra3t0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h33   #6
Invité régulier
 
Homme julien
Étudiant
Inscription : mai 2011
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme julien
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 94
Points : 7
Points : 7
Merci !

Après réadaptation de ton code ça à l'air de marcher impec =)
Au moins maintenant je saurai comment on fait des URL à paramètres "dynamiques".
pra3t0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h39   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
Citation:
d'après ce que je sais on ne peux pas mettre du css sur des éléments de type POST

Ca ne veut rien dire ça... Un élément de type POST, ça n'a pas de sens. POST, c'est la méthode d'envoi des paramètres au serveur, il n'y a aucune notion de style là-dedans.
Ensuite, si tu veux parler des éléments de formulaire alors effectivement, un <select> est assez limité niveau possibilité d'ajouts de styles, mais avec un peu de JavaScript, tu peux faire des choses tout à fait correctes.
Créer un plugin jQuery : une liste déroulante personnalisée
Personnalisation d'un formulaire XHTML en Javascript et CSS
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 13h54   #8
Invité régulier
 
Homme julien
Étudiant
Inscription : mai 2011
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme julien
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 94
Points : 7
Points : 7
Oui désolé j'ai écris vite et j'ai pas fait attention à ce que je marquais ^^ oui en effet POST est une méthode au même titre que GET. je voulais sans doute dire oui : éléments du formulaire, boutons etc etc.
Merci pour tes liens j'irais faire un tour histoire de voir ce que ça donnerai =)
pra3t0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h40.


 
 
 
 
Partenaires

Hébergement Web