Utiliser global/php
tigre198
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
tigre198 Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
tigre198 Messages postés 54 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit souci pour variable global en php
en effet apres une requete de select de la table qui contien les liens pricipaux de mon site j'ai un champs dans ma table qui est le suivant
le but de mon variable global est de l'appeler a fin d'afficher sous menu selon le lien princcipal
par exempe; quand je clique sur astuces un sous lien s'affiche avec des different categories etc
c'est a dire :
$valeur_page c'est le condition de la deuxieme requete pour afficher le sous liens
le probleme $valeur_page affiche toujours valeur de la derniere resultat de la prmiere requete.c'es-tv a dire si j'ai 6 lignes dans la tables liens_principaux $valeur_page contien toujours contact(juste exemple) et donc ma deuxieme requete aura toujours des resultats vides
j'espere j'étais clair et j'espere j'aurais d'aides
j'ai un petit souci pour variable global en php
en effet apres une requete de select de la table qui contien les liens pricipaux de mon site j'ai un champs dans ma table qui est le suivant
global valeur page; <code> while($row = mysql_fetch_assoc($result)) { $valeur_page = $row['valeur_page']; }
le but de mon variable global est de l'appeler a fin d'afficher sous menu selon le lien princcipal
par exempe; quand je clique sur astuces un sous lien s'affiche avec des different categories etc
c'est a dire :
select * from liens_secondaires where valeur_page=$valeur_page;
$valeur_page c'est le condition de la deuxieme requete pour afficher le sous liens
le probleme $valeur_page affiche toujours valeur de la derniere resultat de la prmiere requete.c'es-tv a dire si j'ai 6 lignes dans la tables liens_principaux $valeur_page contien toujours contact(juste exemple) et donc ma deuxieme requete aura toujours des resultats vides
j'espere j'étais clair et j'espere j'aurais d'aides
A voir également:
- Utiliser global/php
- Utiliser chromecast - Guide
- Global positioning system - Accueil - Transports & Cartes
- Utiliser iphone comme webcam - Guide
- Easy php - Télécharger - Divers Web & Internet
- Utiliser tablette comme deuxieme ecran - Guide
9 réponses
Bonjour
Quand tu as exécuté ce code
while($row = mysql_fetch_assoc($result))
{
$valeur_page = $row['valeur_page'];
}
puisque tu as bouclé sur tous les résultats, $valeur_page correspond à la valeur du dernier enregistrement. Si ta deuxième requête est placée APRÈS la sortie de la boucle, $valeur_page n'a plus aucune raison de changer.
Quand tu as exécuté ce code
while($row = mysql_fetch_assoc($result))
{
$valeur_page = $row['valeur_page'];
}
puisque tu as bouclé sur tous les résultats, $valeur_page correspond à la valeur du dernier enregistrement. Si ta deuxième requête est placée APRÈS la sortie de la boucle, $valeur_page n'a plus aucune raison de changer.
merçi pour vos réponses
je peux pas mettre deuxieme requete apres la pemiere pour raison suivante:
les requetes sont dans des fonctions séparés car dans une zone div j'appale la premiere fonction et dans deuxieme div je met fonction qui affiche les liens secondaires.en faite c'est a cause de template d'ou je dois mettre bloc <liens_princiapaux> et autre bloc <liens_secondaires>
pour miex vous expliquer voiçi un bout de fonction
c'est la fonction pour liens principaux .donc si je clique sur un lien .dans une autre zone les liens secondaires s'affichent selon la liaison entre les deux tables de liens principaux et liens secondaires.
je sais pas dans href je dois mettre quoi exactement pour passer variable valeur page a la deuxieme fonction a fin d'excecuter la deuxieme requete avec clause where
remarque: les requete marche bien!!!!
je peux pas mettre deuxieme requete apres la pemiere pour raison suivante:
les requetes sont dans des fonctions séparés car dans une zone div j'appale la premiere fonction et dans deuxieme div je met fonction qui affiche les liens secondaires.en faite c'est a cause de template d'ou je dois mettre bloc <liens_princiapaux> et autre bloc <liens_secondaires>
pour miex vous expliquer voiçi un bout de fonction
function liens_principaux($linked = false, $page, $return = true) { $sql = array( 'SELECT' => '*', 'FROM' => 'liens_principaux' ); $sql=$this->build_key_query($sql); while($row = mysql_fetch_assoc($result)) { $nom = $row['nom_lien']; $href = $row['href']; $style = $row['style']; $valeur_page; $valeur_page = $row['valeur_page']; $page .= "<li> <a href='?page={$valeur_page}' class='$style'>{$nom} </a> </li>"; ++$p; } return $page; }
c'est la fonction pour liens principaux .donc si je clique sur un lien .dans une autre zone les liens secondaires s'affichent selon la liaison entre les deux tables de liens principaux et liens secondaires.
je sais pas dans href je dois mettre quoi exactement pour passer variable valeur page a la deuxieme fonction a fin d'excecuter la deuxieme requete avec clause where
remarque: les requete marche bien!!!!
Si j'ai bien compris (mais je n'en suis pas sûr car ton français n'est pas très bon), tu veux récupérer la valeur de $valeur_page quand on a cliqué sur le lien.
Pour ça, global ne sert absolument à rien, tu n'en as pas besoin.
Pour récupérer la valeur , il suffit de faire
if (isset($_GET['valeur_page'])) $valeur_page=$_GET['valeur_page'];
Pour ça, global ne sert absolument à rien, tu n'en as pas besoin.
Pour récupérer la valeur , il suffit de faire
if (isset($_GET['valeur_page'])) $valeur_page=$_GET['valeur_page'];
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour merçi pour la réponse et désolé pour le français car je tape vite sur le clavier
en effet c'est pas un script simple et je vais essayer d'éclaircir
il y a deux fonctions dans ma classe
le première est celle que j'ai écris tout a l'heure c'est pour les liens principaux
le deuxième fonction est celle des liens secondaires .le problème je dois appeler ma variable $valeur_page de la première fonction dans la deuxième fonction.c'est pour cette raison je cherche fonction
par exemple :
donc je cherche a appeler $a
j'espere j'étais clair
merçi d'avance
en effet c'est pas un script simple et je vais essayer d'éclaircir
il y a deux fonctions dans ma classe
le première est celle que j'ai écris tout a l'heure c'est pour les liens principaux
le deuxième fonction est celle des liens secondaires .le problème je dois appeler ma variable $valeur_page de la première fonction dans la deuxième fonction.c'est pour cette raison je cherche fonction
par exemple :
function fonction1($parametre) { $a=5; return $a; } function fonction2($parametre) { $a ; }
donc je cherche a appeler $a
j'espere j'étais clair
merçi d'avance
D'après ce que tu demandes, il suffit de faire
C'est ce que tu as demandé mais je suis à peu près sûr que ce n'est pas ce dont tu as besoin.
Peux-tu montrer le script complet (en cachant les mots de passe bien sûr)
function fonction1($parametre) { global $a; $a=5; return $a; } function fonction2($parametre) { global $a; $a ; }
C'est ce que tu as demandé mais je suis à peu près sûr que ce n'est pas ce dont tu as besoin.
Peux-tu montrer le script complet (en cachant les mots de passe bien sûr)
c'est ça le probleme je vais réecrir tous pour que tu comprenne
voila fonction1
si j'appelle a cette fonction j'aurais mes liens avec href et css .ça marche jusqu'à ici
ce que je veux faire une deuxième fonction lorsque je clique sur un lien il y'a des sous lien qui s'affiche
par exemple si je clique sur articles des liens s'affiche sur un div avec les titres des articles.la deuxieme fonction bien sur aura une autre requete sur la table sous_lien .donc je veux passer parametre ou variable dans le premier href a fin que la requete affiche que les liens articles et pas tous les liens de la table
voila fonction1
function liens_principaux($linked = false, $page, $return = true) { $sql = array( 'SELECT' => '*', 'FROM' => 'liens_principaux' ); $sql=$this->build_key_query($sql); while($row = mysql_fetch_assoc($result)) { $nom = $row['nom_lien']; $href = $row['href']; $style = $row['style']; $valeur_page; $valeur_page = $row['valeur_page']; $page .= "<li> <a href='?page={$valeur_page}' class='$style'>{$nom} </a> </li>"; ++$p; } return $page; }
si j'appelle a cette fonction j'aurais mes liens avec href et css .ça marche jusqu'à ici
ce que je veux faire une deuxième fonction lorsque je clique sur un lien il y'a des sous lien qui s'affiche
par exemple si je clique sur articles des liens s'affiche sur un div avec les titres des articles.la deuxieme fonction bien sur aura une autre requete sur la table sous_lien .donc je veux passer parametre ou variable dans le premier href a fin que la requete affiche que les liens articles et pas tous les liens de la table
Quand tu cliques sur le lien, l'éxécution du script est terminée et tu lances une nouvelle exécution du script. Il n'y a plus aucune trace des variables de la fonction liens_principaux, qu'elles soient globales ou pas.
Dans le nouveau script appelé, tu peux retrouver le lien choisi en faisant :
if (isset($_GET['page'])) $valeur_page=$_GET['page'];
Comme je te l'avais dit dans le message 4 (en me trompant sur le nom de la variable transmise)
Dans le nouveau script appelé, tu peux retrouver le lien choisi en faisant :
if (isset($_GET['page'])) $valeur_page=$_GET['page'];
Comme je te l'avais dit dans le message 4 (en me trompant sur le nom de la variable transmise)
merçi pour votre patience mais c'est içi le probleme
car ce sont des fonctions
mon href est dans la fonctions
donc si j'appelle $valeur_page dans la deuxième fonction alors j'aurais erreur undefined ....
ce sont pas des simples script sinon j'aurais pas de problèmes .je conais $_post et j'ai l'utiliser des dizaines de fois
ce sont des fonctions et après j'appelle a ces fonctions dans ma page index
donc ma page index va contenir
$liens_principaux.=$db->liens_principaux(true, false,$liens_principaux);
$liens_gauches.=$db->liens_gauches(true, false,$liens_gauches);
je sais c'est pas trop clair mais mon programme est trop long de l'ecrire içi surtout avec ajax et jquery
car ce sont des fonctions
mon href est dans la fonctions
donc si j'appelle $valeur_page dans la deuxième fonction alors j'aurais erreur undefined ....
ce sont pas des simples script sinon j'aurais pas de problèmes .je conais $_post et j'ai l'utiliser des dizaines de fois
ce sont des fonctions et après j'appelle a ces fonctions dans ma page index
donc ma page index va contenir
$liens_principaux.=$db->liens_principaux(true, false,$liens_principaux);
$liens_gauches.=$db->liens_gauches(true, false,$liens_gauches);
je sais c'est pas trop clair mais mon programme est trop long de l'ecrire içi surtout avec ajax et jquery