Je fais face depuis quelques jours a un problème que je n'arrive a résoudre, ni seul, ni a l'aide des forums!
J'ai une première page index.php sur laquelle j'ai des listes déroulantes lies qui me renvoi sur une deuxième page après le choix effectue! Jusque la pas de problème (enfin maintenant)
J'arrive donc sur ma 2eme page: Search.php et tout se passe bien, les éléments demandes ont bien été cherche de la base de sql!
Mon problème c'est quand j'appuie sur les numéros de pages (même pages 1), c'est comme tout les variables été efface et il me met donc un message d'erreur sur la syntaxe d'une de mes requêtes sql (qui cela dit en passant fonctionnait très bien lors du 1er affichage)
Je ne sais plus du tout par ou orienter mes recherches, voici mon code, en espérant qu'il n'est pas trop mal organise pour que vous puissiez m'aider!
Merci d'avance pour votre grande aide!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Consultancy and advisory companies</title>
<link href="design.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="body_frame" align="center">
<div id="pos_toptop" align="center">
<div id="moncadre_categ">
<!-- Start categ. description -->
<div align="justify" class="categ_description">
<div align="justify"><strong>
<?php
$idc = isset($_POST['category'])?$_POST['category']:null; // recup donnee formulaire 1
$iduc = isset($_POST['under_categ'])?$_POST['under_categ']:null; // recup donnee formulaire 2
$idop = isset($_POST['op_area'])?$_POST['op_area']:null; // recup donnee formulaire 3
?>
<?php
$connexion = mysql_pconnect("localhost", "********", "********") or die("Impossible to connect : " . mysql_error());
mysql_select_db("********");
// recup la donne désiré dans les tables
// search for Table name
$get_tablename = mysql_query("SELECT * FROM category WHERE id_category = '". $idc . "'");
if (!$get_tablename) {
echo 'Impossible to execut this request 1 : ' . mysql_error(); // ERROR TO CORRECT
exit;}
$row_t = mysql_fetch_row($get_tablename);
$id_table = $row_t[2]; // la valeur du champ id_table
//echo $id_table;
// search for under category name
$get_under_categ = mysql_query("SELECT * FROM under_categ WHERE id_under_categ = '". $iduc. "'");
if (!$get_under_categ) {
echo 'Impossible to execut this request 2 : ' . mysql_error();
exit;}
$row_uc = mysql_fetch_row($get_under_categ);
$name_undercateg = $row_uc[1]; // la valeur du champ under_categ
// echo $name_undercateg;
// search for operating area name
$get_op_area = mysql_query("SELECT * FROM op_area WHERE id_op_area = '". $idop. "'");
if (!$get_op_area) {
echo 'Impossible to execut this request 3 : ' . mysql_error();
exit;}
$row_op = mysql_fetch_row($get_under_categ);
$name_op_area = $row_op[1]; // la valeur du champ under_categ
// echo $name_op_area;
?>
Category: <?php echo $idc ?> Under_categ: <?php echo $iduc ?> Op_area: <?php echo $idop ?> // Category: <?php echo $id_table ?> Under_categ: <?php echo $name_undercateg ?> Op_area: <?php echo $name_op_area ?></strong></div> // recap pour savoir quelles données fonctionne
</div>
<div class="displaying">
<div class="search_result">
<div class="page_number_up"><strong>
<?php // décompte des pages
$nombreDeMessagesParPage = 14;
$nb = mysql_query("SELECT COUNT(*) AS nbr FROM " . $id_table . " WHERE under_categ_all = '" . $name_undercateg . "'"); // On récupère le nombre total de messages
if (!$nb) {
echo 'Impossible to execut this request 5 : ' . mysql_error();
exit;}
$donnees = mysql_fetch_array($nb);
$totalDesMessages = $donnees['nbr']; // echo "$totalDesMessages";
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); // On calcule le nombre de pages à créer
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="Search.php?page=' . $i . '">' . $i . '</a> '; }?> nb: <?php echo $totalDesMessages ?> </strong></div>
<div class="displaying"></p>
<?php // code central
// Etape 3: Maintenant, on va afficher les messages
if (isset($_GET['page']))
{
$page = $_GET['page'];} // On récupère le numéro de la page indiqué dans l'adresse (advisory.php?page=4)
else
{
$page = 1;} // La variable n'existe pas, C la première fois qu'on charge la page, On se met sur la page 1 (par défaut)
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$reponse = mysql_query("SELECT * FROM " . $id_table . " WHERE under_categ_all = '" . $name_undercateg . "' ORDER BY company LIMIT " . $premierMessageAafficher . ", " . $nombreDeMessagesParPage) or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse) ){?>
<div id="table_advisory">
<div class="listing_title1"><strong><a href="<?php echo $donnees['adress']; ?>"><?php echo $donnees['company']; ?></a></strong></div>
<div class="image_robothumb"><a href="<?php echo $donnees['adress']; ?>"><img src=http://www.robothumb.com/src/?url=<?php echo $donnees['adress']; ?> style='border-width: 1px' /></a></div>
<div class="listing_title"><strong> Expertness: </strong><?php echo $donnees['under_categ_all']; ?></div>
<div class="listing_title"><strong> Op. Area: </strong><?php echo $donnees['operating_area']; ?></div>
<p></p>
</div><?php } mysql_close(); // Déconnexion de MySQL ?>
</div>
</div>
</div>
</body>
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]