Aller au contenu

Récupérer une variable ?


Sujets conseillés

Posté

Bonjour à toutes et à tous,

Je ne suis pas une pro du php et là je galère depuis hier soir pour un truc qui à l'air tout bête.

Voilà mon souci :

j'aimerai récupérer une variable $var[5] mais seulement si cette variable est donnée par $news

(dans le but de la transmettre à une autre page par session).

Voilà comment je m'y prends sur la page 1:



$news .= $var['5'];
$_SESSION['article'] .= $var['5'];

Avec ce code je récupère bien sur la page 2 la variable mais (avec tout le contenu de cette variable) et pas juste le contenu relatif pour la page 2 en question.

En fait comme si $news n'avait pas été pris en considération.

Comment faire pour que je puisse récupérer cette variable $var[5] après qu'elle ai été crachée par $news ?

Merci vivement si vous me répondez...

Sandrine

Posté

Salut,

Difficile de répondre : y'a très peu de code...

Si tu veux extraire $var['5'] de $news, il faut soit que tu saches ou commencer à extraire ( et donc ou s'arreter ), ou mettre un caractère séparateur :

$news .= "^" . $var['5'];

Page 2 tu fais alors :

$Data = explode('^', $news)

$Data[0] vaut $news sans var['5'];

$Data[1] vaut var['5'];

J'espère t'avoir répondu...

Posté

Perso, j'ai rien compris. Ca veut dire quoi une variable "donnée" par une autre? Donne-nous au moins un exemple complet de ce que tu as et ce que tu veux...

Jacques.

Posté

Merci à tous les 2 de m'avoir répondu. je ne suis pas assez calé en php pour savoir si la réponse de BLACKPAGE me convient.

En fait mon script est un peu bizarre car en fait, l'ouverture et lecture d'une base de données se fait elle même à l'intérieur d'une boucle foreach()

je vous donne (en condensé) le script de la page 1 :




foreach ($dem as $var)

{

mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("$db");
$rep = mysql_query("SELECT * FROM xxx WHERE id='$var[0]');

while ($donn = mysql_fetch_array($rep) )

{

$news .= // affiche toutes les annonces sur la page 1


$news .= $var['5'];
$_SESSION['article'] .= $var['5']; // transmet variable à la page 2


}

}

Pour votre renseignement si je fait un echo $var['5']; sur la page 1, le contenu de cette variable ne me convient pas.

Seule me conviendrait la variable $var['5'] donnée par $news

je ne suis pas sûre d'être très claire...

Posté


$rep = mysql_query("SELECT * FROM xxx WHERE id='$var[0]');

attention ici, tu commence la requête avec un doublequote " et tu la fini avec un simple quote '. ferme la avec la double quote pour ne pas avoir de problème.

ensuite, la connexion doit être faite hors de la boucle, sinon tu te reconnecte en boucle pour chaque $var.

Posté (modifié)

oui, chez moi c'est bon c'est fermé avec un double quote.

La connexion qui se fait dans la boucle, est faite exprès : j'ai besoin qu'il y ait une comparaison avec la BD.

Bref, le script marche, c'est juste un problème de récup de variable par session.

N'y-a-t-il pas une solution dans mon cas ?

Modifié par sandrinoo
Posté

Moi je n'ai toujours rien compris à ce que tu as comme données, où, et ce que tu veux faire exactement. Tu n'as toujours donné aucun exemple d'où sortent ton "$news" ou ton "$var[5]" et le lien qu'il pourrait y avoir entre les deux. Donne-nous des exemples concrets, parce que là, pour t'aider, à part le marc de café ou la boule de cristal, ça va être dur. Tu nous dis que "$var[5]" ne te "convient pas", mais tu ne nous dis pas ce qui te conviendrait et pourquoi...

Jacques.

Posté

Parce que si cette variable "$var[5]" n'est pas donné par $news, elle ne passe pas par le filtre de la BD (le script est comme cela).

et j'obtiens alors en page 2, TOUS les articles à la suite (toutes les variantes de $var[5]), alors qu'il me faudrait un seul article adéquat en relation avec chacune des pages 2

J'avais pensé à un code genre sur la page 1 :


if ($news .= $var[5])
$_SESSION['article'] .= $var[5];

je ne sais pas si c'est correct. Et cela ne fonctionne pas en page 2

Je suis désolé, je n'arrive pas à être plus claire... Je n'ai que quelques connaissances en PHP.

(Après sur la page 2, je n'ai plus qu'à récupérer la variable de session avec echo $_SESSION['article']; => ça je sais faire)

Posté

Encore une fois, tu ne nous donnes aucun exemple concret. Commence par nous dire ce que tes deux scripts font, d'où sort $news, d'où sort $var[5] (en fait l'ensemble de $var), ce qu'ils contiennent respectivement, quel est le rapport entre les deux. Sans ça, on n'a aucune chance de pouvoir t'aider avec si peu d'informations.

Jacques.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...