par
Lorenzo » 17 avr. 2006, 18:02
deja je vois pas trop ce qu'un sprintf() vient faire ici, mais c'est surement une question de gout ... les egouts et les couleurs ca ne se discute pas
tout le code que je t'ai mis te permet de creer une variable qui va contenir la requete MySQL.
bon sang, j'ai vraiment du mal avec ton script, j'ai rarement vu ca ... bon, j'arrete de faire ma mauvaise tete et je te file ce que je pense etre la bonne reponse ...
$currentPage = $_SERVER["PHP_SELF"];
// On affecte la valeur de $_POST si elle existe, sinon celle de $_GET si elle existe, sinon on laisse vide :
$colname_affichageimage = (isSet($_POST['pays'])) ? $_POST['pays'] : ((isSet($_GET['pays'])) ? $_GET['pays'] : "");
$colname2_affichageimage = (isSet($_POST['site'])) ? $_POST['site'] : ((isSet($_GET['site'])) ? $_GET['site'] : "");
$maxRows_affichageimage = 4;
$pageNum_affichageimage = 0;
if (isset($_GET['pageNum_affichageimage'])) {
$pageNum_affichageimage = $_GET['pageNum_affichageimage'];
}
$startRow_affichageimage = $pageNum_affichageimage * $maxRows_affichageimage;
mysql_select_db($database_pays, $pays);
$w1 = '';
$w2 = '';
if( $colname_affichageimage ){
$w1 = "bpays.site LIKE '$colname_affichageimage'";
}
if( $colname2_affichageimage ){
$w2 = $w1 ? " AND bpays.pays LIKE '$colname2_affichageimage'" : "bpays.pays LIKE '$colname2_affichageimage'";
}
if( $w1 || $w2 ){
$query_affichageimage = "SELECT * FROM bpays WHERE $w1 $w2 ORDER BY bpays.pays";
}else{
$query_affichageimage = "SELECT * FROM bpays ORDER BY bpays.pays";
}
$query_limit_affichageimage = sprintf("%s LIMIT %d, %d", $query_affichageimage, $startRow_affichageimage, $maxRows_affichageimage);
$affichageimage = mysql_query($query_limit_affichageimage, $pays) or die(mysql_error());
$row_affichageimage = mysql_fetch_assoc($affichageimage);
if (isset($_GET['totalRows_affichageimage'])) {
$totalRows_affichageimage = $_GET['totalRows_affichageimage'];
} else {
$all_affichageimage = mysql_query($query_affichageimage);
$totalRows_affichageimage = mysql_num_rows($all_affichageimage);
}
$totalPages_affichageimage = ceil($totalRows_affichageimage/$maxRows_affichageimage)-1;
$queryString_affichageimage = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_affichageimage") == false &&
stristr($param, "totalRows_affichageimage") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_affichageimage = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_affichageimage = sprintf("&totalRows_affichageimage=%d%s", $totalRows_affichageimage, $queryString_affichageimage);
deja je vois pas trop ce qu'un sprintf() vient faire ici, mais c'est surement une question de gout ... les egouts et les couleurs ca ne se discute pas :lol:
tout le code que je t'ai mis te permet de creer une variable qui va contenir la requete MySQL.
bon sang, j'ai vraiment du mal avec ton script, j'ai rarement vu ca ... bon, j'arrete de faire ma mauvaise tete et je te file ce que je pense etre la bonne reponse ... :?:
[php]
$currentPage = $_SERVER["PHP_SELF"];
// On affecte la valeur de $_POST si elle existe, sinon celle de $_GET si elle existe, sinon on laisse vide :
$colname_affichageimage = (isSet($_POST['pays'])) ? $_POST['pays'] : ((isSet($_GET['pays'])) ? $_GET['pays'] : "");
$colname2_affichageimage = (isSet($_POST['site'])) ? $_POST['site'] : ((isSet($_GET['site'])) ? $_GET['site'] : "");
$maxRows_affichageimage = 4;
$pageNum_affichageimage = 0;
if (isset($_GET['pageNum_affichageimage'])) {
$pageNum_affichageimage = $_GET['pageNum_affichageimage'];
}
$startRow_affichageimage = $pageNum_affichageimage * $maxRows_affichageimage;
mysql_select_db($database_pays, $pays);
$w1 = '';
$w2 = '';
if( $colname_affichageimage ){
$w1 = "bpays.site LIKE '$colname_affichageimage'";
}
if( $colname2_affichageimage ){
$w2 = $w1 ? " AND bpays.pays LIKE '$colname2_affichageimage'" : "bpays.pays LIKE '$colname2_affichageimage'";
}
if( $w1 || $w2 ){
$query_affichageimage = "SELECT * FROM bpays WHERE $w1 $w2 ORDER BY bpays.pays";
}else{
$query_affichageimage = "SELECT * FROM bpays ORDER BY bpays.pays";
}
$query_limit_affichageimage = sprintf("%s LIMIT %d, %d", $query_affichageimage, $startRow_affichageimage, $maxRows_affichageimage);
$affichageimage = mysql_query($query_limit_affichageimage, $pays) or die(mysql_error());
$row_affichageimage = mysql_fetch_assoc($affichageimage);
if (isset($_GET['totalRows_affichageimage'])) {
$totalRows_affichageimage = $_GET['totalRows_affichageimage'];
} else {
$all_affichageimage = mysql_query($query_affichageimage);
$totalRows_affichageimage = mysql_num_rows($all_affichageimage);
}
$totalPages_affichageimage = ceil($totalRows_affichageimage/$maxRows_affichageimage)-1;
$queryString_affichageimage = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_affichageimage") == false &&
stristr($param, "totalRows_affichageimage") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_affichageimage = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_affichageimage = sprintf("&totalRows_affichageimage=%d%s", $totalRows_affichageimage, $queryString_affichageimage);
[/php]