Utiliser global/php
Fermé
tigre198
Messages postés
54
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
13 août 2012
-
9 juin 2009 à 12:58
tigre198 Messages postés 54 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 13 août 2012 - 9 juin 2009 à 17:09
tigre198 Messages postés 54 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 13 août 2012 - 9 juin 2009 à 17:09
A voir également:
- Utiliser global/php
- Utiliser chromecast - Guide
- Global positioning system - Accueil - Transports & Cartes
- Easy php - Télécharger - Divers Web & Internet
- Comment utiliser l'ia - Accueil - Guide Intelligence artificielle
- Utiliser iphone comme webcam - Guide
9 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
9 juin 2009 à 13:26
9 juin 2009 à 13:26
c'est pas parce qu'une variable est globale que sa valeur subsiste d'un appel de script à l'autre
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.
tigre198
Messages postés
54
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
13 août 2012
9
9 juin 2009 à 14:18
9 juin 2009 à 14:18
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
tigre198
Messages postés
54
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
13 août 2012
9
9 juin 2009 à 15:43
9 juin 2009 à 15:43
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)
tigre198
Messages postés
54
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
13 août 2012
9
9 juin 2009 à 16:15
9 juin 2009 à 16:15
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)
tigre198
Messages postés
54
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
13 août 2012
9
9 juin 2009 à 17:09
9 juin 2009 à 17:09
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