Probleme de variables qui perdent leurs valeurs, je deviens fous......
cs_skyman272
Messages postés34Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention26 novembre 2007
-
28 janv. 2006 à 16:22
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009
-
14 févr. 2006 à 12:02
<SAMP>Bonjour,
J'ai un pb avec des variables qui ne conservent pas leurs valeurs, il s'agit d'un script qui réparti le résultat d'une requete sur plusieur pages, et créé les liens vers ces pages. La premiere page fonctionnent les variables $varRegion et $varType contiennent les bonne valeur, par contre quand je passe sur la page 2 ou autres, les variables perdent leur valeur et le script ne marche plus. J'ai essayer de mettre ces variables en global dans le script, mais ça marche pas...comment faut il faire ????? est ce la porté des variables qui est en cause ?
(j'ai mis en rouge les variables en questions)
</SAMP>
<?php
// Connnexion à la base
mysql_select_db($database_fichier, $fichier) or die(mysql_error());
// Parametres de la requete
$varRegion = $select; //Ce sont ces valeur qui ne sont pas conservé dans ces variables
$varType = $select2;
$nb_rep_pages=5;
// Initialisation des variables
if(empty($page)) $page = 1;
if(empty($fin)){
$sql = "select count(*) as qte from Fiche_produit";
$p = @mysql_query($sql,$fichier);
$fin = @mysql_result($p,"0","qte");
}
// Déclaration de la variable début
$debut = ($page - 1) * $nb_rep_pages;
// Requete SQL
if($varType == Tous)
$sql = "SELECT *
FROM Fiche_produit
WHERE Fiche_produit.Region ='$varRegion'
ORDER BY Identite LIMIT $debut,$nb_rep_pages";
else
$sql = "SELECT *
FROM Fiche_produit
WHERE Fiche_produit.Region ='$varRegion'
AND Fiche_produit.Type ='$varType'
ORDER BY Identite LIMIT $debut,$nb_rep_pages";
$a=1;
// Interrogation de la base
$result = mysql_query($sql, $fichier) or die(mysql_error());
// Nombre de lignes de résultat
$totalRows = mysql_num_rows($result);
$nbpages = ceil($fin / $nb_rep_pages);
if ($totalRows == 0)
{
echo "La recherche n'a retourné aucun résultat
";
}
else
{
echo "
Résultat de la recherche : $totalRows produits.
Secteur |
Type |
Prix de vente du bien |
Présentation |
Photo |
Accès |
\";
//Liens vers les autres pages
for($i = 1;$i <= $nbpages;$i ++)
{
echo \"Page $i\";
if($i < $nbpages) echo \" - \";
}
while ($row = mysql_fetch_array($result))
{
echo \"----
{$row['Secteur']},
{$row['Type']},
{$row['Prix']} €,
{$row['Presentation']},
,
Découvrir le bien,
\";
//$a=$a+1;
}
echo "
";
}
//while( $contenu = mysql_fetch_array ($result))
// Libération mémoire
mysql_free_result($result);
// Fermeture de la connexion
mysql_close($fichier);
?>
// Les menus déroulant qui récuperent la valeur de la variable (select et select2)
<td width="210" height="189" background="../images/5.gif">
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009 28 janv. 2006 à 18:05
Salut que veux tu dire par "j'ai essayer de mettre ces variables en global" ?
As tu essayé de faire :
$_SESSION['varRegion'] = $select ;
$_SESSION['varType'] = $select2 ;
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
Tarvos
Messages postés40Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention24 mars 2006 28 janv. 2006 à 23:42
Les variables ne se conservent pas miraculeusement d'une page à l'autre...
Tu peux soit utiliser le système de sessions comme mentionné plus haut (documente toi, il faut d'abord initialiser la session...), soit faire passer tes valeurs par l'url et les récupérer en GET.
cs_skyman272
Messages postés34Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention26 novembre 2007 14 févr. 2006 à 10:52
Bonjour,
J'essaye de passer mes variables par url avec la ligne :
echo "Page $i";
Je n'ai pas fait de GET, mais j'ai l'impression que les variables sont bien récupérés pourtant ça ne marche toujours pas...
Le GET est il obligatoire, et comment l'implémenter ???