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)
<?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 "<p>La recherche n'a retourné aucun résultat</p>";
}
else
{
echo "
<p>
Résultat de la recherche : $totalRows produits.
</p>
<table border=\"1\">
<tr>
<th>Secteur</th>
<th>Type</th>
<th>Prix de vente du bien</th>
<th>Présentation</th>
<th>Photo</th>
<th>Accès</th>
</tr>
";
//Liens vers les autres pages
for($i = 1;$i <= $nbpages;$i ++)
{
echo "<font size='1' face='verdana' color='#000000'><a href=\"?page=$i&fin=$fin\">Page $i</a></font>";
if($i < $nbpages) echo " - ";
}
while ($row = mysql_fetch_array($result))
{
echo "<tr>
<td>{$row['Secteur']}</td>
<td>{$row['Type']}</td>
<td>{$row['Prix']} €</td>
<td>{$row['Presentation']}</td>
<td><img src=\"{$row['Photo']}\"></td>
<td><a href=\"{$row['Acces']}\">Découvrir le bien</td>
</tr>
";
//$a=$a+1;
}
echo "</table>";
}
//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"> <div align="center">
<p> </p>
<p><strong><font size="4">Autres recherches </font></strong></p>
</div>
<form action="../fiche_select.php" method="post" name="table_recherche">
<p>
<label>Region
<select name="select" tabindex="1">
<option value="Midi-Pyrénées">Midi-Pyrénées</option>
<option value="Languedoc">Languedoc</option>
<option value="Provence">Provence</option>
<option value="Aquitaine">Aquitaine</option>
<option value="Autres-régions">Autres Régions</option>
</select>
</label>
</p>
<p>
<label>Type
<select name="select2" tabindex="2">
<option value="Manoir-Château">Manoirs et Châteaux</option>
<option value="Propriété-rurale">Propriétés rurales</option>
<option value="Belle-Demeure">Belles demeures</option>
<option value="Maison-de-Campagne">Maisons de campagne</option>
<option value="Maison-de-village">Maisons de village</option>
<option value="Maison-de-ville">Maisons de ville</option>
<option value="Villa">Villas</option>
<option value="Autre-bien">Autres Biens</option>
<option value="Tous" selected>Tous les biens</option>
</select>
</label>
</p>
<p align="center">
<label>
<input type="submit" name="Submit" value="Envoyer" tabindex="3">
</label>
</p>
</form>
</td>
</body>
</html>