begin process at 2012 05 31 05:31:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

PAGINATION DES RESULTATS D'UNE REQUETE MULTICRITERE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PAGINATION DES RESULTATS D'UNE REQUETE MULTICRITERE

samedi 3 décembre 2011 à 14:20:13 | PAGINATION DES RESULTATS D'UNE REQUETE MULTICRITERE

armelkoudou


Je sollicite l'aide de personne plus avancées que moi pour m' apporter un solution .
je n' arrive pas à paginer les resultats de ma recherche multicritère.
La pagination que j' ai adapté marche lorsqu' il sagit d'afficher toutes les info , mais ne marche pas losque j'aplique la requete sql en rouge
voici ci dessous le code de la page .


http://www.africonnexion.com/default.php?page=repertoire_tri



<?php require_once('Connections/req.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

$maxRows_repert = 10;
$pageNum_repert = 0;
if (isset($_GET['pageNum_repert'])) {
$pageNum_repert = $_GET['pageNum_repert'];
}
$startRow_repert = $pageNum_repert * $maxRows_repert;

mysql_select_db($database_req, $req);
$query_repert = "SELECT * FROM afriwork09 WHERE secteur='$_REQUEST[secteur]' AND pays='$_REQUEST[pays]' AND ville LIKE '%$_POST[ville]%' ORDER BY secteur ASC";

$query_limit_repert = sprintf("%s LIMIT %d, %d", $query_repert, $startRow_repert, $maxRows_repert);
$repert = mysql_query($query_limit_repert, $req) or die(mysql_error());
$row_repert = mysql_fetch_assoc($repert);

if (isset($_GET['totalRows_repert'])) {
$totalRows_repert = $_GET['totalRows_repert'];
} else {
$all_repert = mysql_query($query_repert);
$totalRows_repert = mysql_num_rows($all_repert);
}
$totalPages_repert = ceil($totalRows_repert/$maxRows_repert)-1;

mysql_select_db($database_req, $req);
$query_sect = "SELECT DISTINCT secteur FROM afriwork09 ORDER BY secteur ASC";
$sect = mysql_query($query_sect, $req) or die(mysql_error());
$row_sect = mysql_fetch_assoc($sect);
$totalRows_sect = mysql_num_rows($sect);

mysql_select_db($database_req, $req);
$query_pays = "SELECT DISTINCT pays FROM afriwork09 ORDER BY pays ASC";
$pays = mysql_query($query_pays, $req) or die(mysql_error());
$row_pays = mysql_fetch_assoc($pays);
$totalRows_pays = mysql_num_rows($pays);

mysql_select_db($database_req, $req);
$query_ville = "SELECT DISTINCT ville FROM afriwork09 ORDER BY ville ASC";
$ville = mysql_query($query_ville, $req) or die(mysql_error());
$row_ville = mysql_fetch_assoc($ville);
$totalRows_ville = mysql_num_rows($ville);

mysql_select_db($database_req, $req);
$query_commune = "SELECT DISTINCT commune FROM afriwork09 ORDER BY commune ASC";
$commune = mysql_query($query_commune, $req) or die(mysql_error());
$row_commune = mysql_fetch_assoc($commune);
$totalRows_commune = mysql_num_rows($commune);

$queryString_repert = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_repert") == false &&
stristr($param, "totalRows_repert") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_repert = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_repert = sprintf("&totalRows_repert=%d%s", $totalRows_repert, $queryString_repert);
?>
<!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=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style12 {color: #000000}
.Style2 { font-size: 10px;
color: #FF0000;
}
.pibrepert {
background-color: #FFF;
background-image: url(arrierepubrep.jpg);
background-position: left top;
}
-->
</style>
</head>

<body>
<table width="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="arrier repert1.jpg" width="790" height="150" /></td>
</tr>
<tr>
<td height="65"><form id="form1" name="form1" method="post" action="default.php?page=repertoire_tri">
<table width="722" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="102">&nbsp;</td>
<td width="122">secteur</td>
<td width="4">&nbsp;</td>
<td width="4">&nbsp;</td>
<td width="149">pays</td>
<td width="10">&nbsp;</td>
<td width="9">&nbsp;</td>
<td width="144" style="color: #F00">Saisir la ville sans faute</td>
<td width="184">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><label for="secteur"></label>
<select name="secteur" id="secteur">
<?php
do {
?>
<option value="<?php echo $row_sect['secteur']?>"<?php if (!(strcmp($row_sect['secteur'], ucfirst($row_sect['secteur'])))) {echo "selected=\"selected\"";} ?>><?php echo $row_sect['secteur']?></option>
<?php
} while ($row_sect = mysql_fetch_assoc($sect));
$rows = mysql_num_rows($sect);
if($rows > 0) {
mysql_data_seek($sect, 0);
$row_sect = mysql_fetch_assoc($sect);
}
?>
</select></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><label for="pays"></label>
<select name="pays" id="pays">
<?php
do {
?>
<option value="<?php echo $row_pays['pays']?>"<?php if (!(strcmp($row_pays['pays'], $row_pays['pays']))) {echo "selected=\"selected\"";} ?>><?php echo $row_pays['pays']?></option>
<?php
} while ($row_pays = mysql_fetch_assoc($pays));
$rows = mysql_num_rows($pays);
if($rows > 0) {
mysql_data_seek($pays, 0);
$row_pays = mysql_fetch_assoc($pays);
}
?>
</select></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><label for="ville"></label>
<input type="text" name="ville" id="ville" /></td>
<td><input type="submit" name="Recheche" id="Recheche" value="Rechercher" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form></td>
</tr>
</table>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="769" height="238" align="center" valign="top" scope="col"><table width="579" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="579" height="219" scope="col"><br />
<?php do { ?>
<table width="459" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="459" height="166" style="background-repeat: no-repeat; background-image: url(arrier%20repert2.jpg);"><table width="580" border="0" align="center" cellpadding="0" cellspacing="0">
<!-- fwtable fwsrc="Sans titre" fwbase="repert.jpg" fwstyle="Dreamweaver" fwdocid = "1764264203" fwnested="0" -->
<tr>
<td width="527"><img src="images/spacer.gif" width="513" height="1" border="0" alt="" /></td>
<td width="33"><img src="images/spacer.gif" width="16" height="1" border="0" alt="" /></td>
<td width="20"><img src="images/spacer.gif" width="1" height="1" border="0" alt="" /></td>
</tr>
<tr>
<td height="153" valign="bottom"><table width="499" height="149" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#86D1F1">
<tr>
<td width="26%" height="149" align="center" valign="middle"><?php
$img = $row_repert['image'];
if ($img == "") // le prenom est vide
echo '<img src="images/default.jpg">';
else // le prenom est pas vide
echo '<img src="upload/'.$img .'" width="112" height="100" >';
?></td>
<td width="2%" align="center" valign="top">&nbsp;</td>
<td width="72%" align="left" valign="middle" class="Style12"><span style="color: #CC6601"><?php echo $row_repert['entreprise']; ?></span><br />
<?php echo $row_repert['secteur']; ?><br />
<?php echo $row_repert['pays']; ?><br />
<?php echo $row_repert['ville']; ?>&nbsp;<?php echo $row_repert['commune']; ?><br />
<span style="color: #CD6600"><?php echo $row_repert['telephone']; ?></span><br />
<table width="100" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="default.php?page=voir_pme_pmi&amp;ID=<? echo $row_repert['ID']; ?>.html"><img src="images/ensavoir.jpg" alt="" width="108" height="25" border="0" /></a></td>
</tr>
</table></td>
</tr>
</table>
<p style="margin:0px"></p></td>
<td>&nbsp;</td>
<td><img src="images/spacer.gif" width="1" height="119" border="0" alt="" /></td>
</tr>
</table></td>
</tr>
</table>
<?php } while ($row_repert = mysql_fetch_assoc($repert)); ?>
<br style="background-repeat: no-repeat;" /></th>
</tr>
</table>
Parcourez les pages:
<?php // ICI LE CODE A INSERER en l'adaptant au nom de votre jeu d'enregsitrement !
$last=$totalPages_repert+1;
$current=$pageNum_repert+1;
for ($i = 1; $i <= $last; $i++) {
if($current==$i){
echo "<strong> ". $i . "</strong> | ";
} else { ?>
<a href="<?php printf("%s?pageNum_repert=%d%s", $currentPage, min($totalPages_repert, $i+1), $queryString_repert); ?>"><?php echo $i;?></a><?php echo " | "; ?>
<?php
}
}
?>
</th>
<th width="10" align="left" valign="top" scope="col">&nbsp;</th>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($repert);

mysql_free_result($sect);

mysql_free_result($pays);

mysql_free_result($ville);

mysql_free_result($commune);
?>


javascript:void(0);
samedi 3 décembre 2011 à 14:44:13 | Re : PAGINATION DES RESULTATS D'UNE REQUETE MULTICRITERE

NHenry

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

Tu peux utiliser la clause LIMIT pour induire un Offset ainsi que le nombre d'enregistrement à retourner.

---------------------------------------------------------------------
  1. Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.

---
Mon site
mardi 6 décembre 2011 à 11:11:15 | Re : PAGINATION DES RESULTATS D'UNE REQUETE MULTICRITERE

armelkoudou


merci bien pour les conseils .
A ce stade de mes recherche je suis vraiment busy je souhaiterai avoir plus ample éclairci sur la manipulation et ml' adaptation d'un code de pagination des résultat d' une requête multicritère comme celle ci :

mysql_select_db($database_req, $req);
$query_repert = "SELECT * FROM afriwork09 WHERE secteur='$_REQUEST[secteur]' AND pays='$_REQUEST[pays]' AND ville LIKE '%$_POST[ville]%' ORDER BY secteur ASC";

merci encore de m' aider a résoudre se problème qui perdure


javascript:void(0);
vendredi 9 décembre 2011 à 22:00:06 | Re : PAGINATION DES RESULTATS D'UNE REQUETE MULTICRITERE

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour,

Regardes la documentation de la clause LIMIT.
Il te faudra faire une requête à chaque page.

---------------------------------------------------------------------
  1. Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.

---
Mon site


Cette discussion est classée dans : mysql, requete, pays, pagination, resultats


Répondre à ce message

Sujets en rapport avec ce message

Requete MySQL Afficher x resultats par page [ par restesouple ] Voilà, j'ai fait un formulaire de recherche, mais je voudrais que le résultat s'affiche sur différentes pages suivant le nombre de resultatsje sais qu image en fonction du sexe du membre [ par cobrachris ] Bonjour,Tout est dans le titre.Voici mon code://requete determination sexe du membre$requete = "SELECT sexe FROM membres "; $resultats = mysql_query($ Besoin d'aide pour faire fonctionnez ce code [ par chardene_amour_de_freddy ] Bonjour !J'ai un pb assez urgent; en fait j'ai 2 listes déroulantes, la 1ère qui contient les pays doit modifier la 2ème qui conferme les villes . Et Problématique de requete mysql [ par yobogs ] Bonjour, Je me permet de solliciter le forum car j'ai un problème par rapport à une requete et j'aimerai savoir si vous avez une idée comme la resoudr Probléme de requete et de variable [ par chatainsim ] Bonjour, j'utilise cette fonction pour faire un remplacement de caractéres : $ requete mysql (selection entre deux dates) [ par billy67000 ] Bonjour, comment faire une requete mysql qui selectionne des lignes comprises entre deux dates? merci Requete! à l'aide! [ par Puchu ] Bonjours à ts! j'ai c requete qui ne marche pas! j'ai déjà essayé sur mysql et ça marche mais avec le code en php ne marche pas! Comment faire? $res Problème de boucles while imbriquées [ par nougitch ] Bonjour, J'ai un problème avec mes boucles. Lorsque je compte les enregistrements de la table, le bon nombre s'affiche mais à l'exécution, il effectu Probleme de requete pour affichage membre [ par magicjim ] Bonjour @ tous, voila mon probleme je fait une requete par le biais d'un formulaire qui envoit l'id du membre, mais a l'affichage cela ne me montre qu probleme avec une requete ! [ par winroro98 ] bonjour !j'ai un probleme de requete avec mon code qd j'ouvre ma page il me met erreur requete mais la je ne vois pas !!!pouvez vous m'aidez !!!!merci


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales