par
Ryle » 06 mars 2006, 18:42
bah en fait il semble considéré que ton $row_Recordset2 n'est pas renseigné... ou n'est pas un tableau... comme s'il n'y avait pas de résultat
Essaye le code ci-dessous, je t'ai transformé le do/while en while pour tester s'il y a des résultats et ai inclu la transformation des dates dans la boucle...
<?php
$num_mois=$_POST['num_mois'];//récupération de la variable num_mois
$evenement2=$_POST['evenement2'];
$departement2=$_POST['departement2'];
mysql_select_db($database_connexion, $connexion);
$query_rs2departement = "SELECT distinct departement FROM tb_evenements ORDER BY departement ASC";
$rs2departement = mysql_query($query_rs2departement, $connexion) or die(mysql_error());
$row_rs2departement = mysql_fetch_assoc($rs2departement);
$totalRows_rs2departement = mysql_num_rows($rs2departement);
mysql_select_db($database_connexion, $connexion);
$query_rs2evenement = "SELECT distinct evenement FROM tb_evenements ORDER BY evenement ASC";
$rs2evenement = mysql_query($query_rs2evenement, $connexion) or die(mysql_error());
$row_rs2evenement = mysql_fetch_assoc($rs2evenement);
$totalRows_rs2evenement = mysql_num_rows($rs2evenement);
$maxRows_Recordset2 = 5;
$pageNum_Recordset2 = 0;
if (isset($HTTP_GET_VARS['pageNum_Recordset2'])) {
$pageNum_Recordset2 = $HTTP_GET_VARS['pageNum_Recordset2'];
}
$startRow_Recordset2 = $pageNum_Recordset2 * $maxRows_Recordset2;
mysql_select_db($database_connexion, $connexion);
$query_Recordset2 = "SELECT evenement, descriptif, ville, datedebut, datefin ";
$query_Recordset2.= " FROM tb_evenements ";
$query_Recordset2.= " WHERE MONTH(datedebut)<=$num_mois AND MONTH(datefin)>=$num_mois ";
if(!empty($evenement2)) {// si un événement est séléctionné, on ne ramene que les enregistrements associés à celui-ci
$query_Recordset2.= " AND evenement='$evenement2' ";
}
// tu pourras aussi envisager un if similaire ici, si un jour tu veux faire une recherche sur tous les départements
$query_Recordset2.= " AND departement='$departement2' ";
$query_limit_Recordset2 = sprintf("%s LIMIT %d, %d", $query_Recordset2, $startRow_Recordset2, $maxRows_Recordset2);
$Recordset2 = mysql_query($query_limit_Recordset2, $connexion) or die(mysql_error());
// traitement du résultat déplacé dans la boucle while
if (isset($HTTP_GET_VARS['totalRows_Recordset2'])) {
$totalRows_Recordset2 = $HTTP_GET_VARS['totalRows_Recordset2'];
} else {
$all_Recordset2 = mysql_query($query_Recordset2);
$totalRows_Recordset2 = mysql_num_rows($all_Recordset2);
}
$totalPages_Recordset2 = ceil($totalRows_Recordset2/$maxRows_Recordset2)-1;
$queryString_Recordset2 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
$params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset2") == false &&
stristr($param, "totalRows_Recordset2") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset2 = "&" . implode("&", $newParams);
}
}
$queryString_Recordset2 = sprintf("&totalRows_Recordset2=%d%s", $totalRows_Recordset2, $queryString_Recordset2);
<body>
<table width="600" height="371" border="0" align="center" cellspacing="3">
<tr>
<td width="90" colspan="5">
<br><br><br><br><br><br>
<?php if ($totalRows_Recordset2 > 0) { // Show if recordset not empty ?>
<table width="600" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" align="center" cellpadding="1">
<tr bgcolor="#F5CB37">
<td class="td1">Evénement</td>
<td class="td1">Descriptif</td>
<td class="td1">Ville</td>
<td class="td1">Date début</td>
<td class="td1">Date fin</td>
</tr>
<?php // Modification du do/while en while :
while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)) { // pour chaque ligne ramenée par $Recordset2
$row_Recordset2['datedebut']= preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3.$2.$1', $row_Recordset2['datedebut']);
$row_Recordset2['datefin']= preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3.$2.$1', $row_Recordset2['datefin']);
?>
<tr bgcolor="#DAECA4">
<td class="td1"><?php echo $row_Recordset2['evenement']; ?></td>
<td class="td1"><?php echo $row_Recordset2['descriptif']; ?></td>
<td class="td1"><?php echo $row_Recordset2['ville']; ?></td>
<td class="td1"><?php echo $row_Recordset2['datedebut']; ?></td>
<td class="td1"><?php echo $row_Recordset2['datefin']; ?></td>
</tr>
<?php } ?>
</table>
<?php }
else { // Show if recordset empty
?>
<p>Désolé mais il n'y a pas de résultat correspondant à cette recherche</p>
<?php } // Show if recordset empty ?>
<p> </p>
<p class="td2"> Enregistrements <?php echo ($startRow_Recordset2 + 1) ?> à <?php echo min($startRow_Recordset2 + $maxRows_Recordset2, $totalRows_Recordset2) ?> sur <?php echo $totalRows_Recordset2 ?>
<table border="0" width="50%" align="center">
<tr>
<td class="td2" width="23%" align="center"> <?php if ($pageNum_Recordset2 > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, 0, $queryString_Recordset2); ?>">Premier</a>
<?php } // Show if not first page ?> </td>
<td class="td2" width="31%" align="center"> <?php if ($pageNum_Recordset2 > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, max(0, $pageNum_Recordset2 - 1), $queryString_Recordset2); ?>">Précédent</a>
<?php } // Show if not first page ?> </td>
<td class="td2" width="23%" align="center"> <?php if ($pageNum_Recordset2 < $totalPages_Recordset2) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, min($totalPages_Recordset2, $pageNum_Recordset2 + 1), $queryString_Recordset2); ?>">Suivant</a>
<?php } // Show if not last page ?> </td>
<td class="td2" width="23%" align="center"> <?php if ($pageNum_Recordset2 < $totalPages_Recordset2) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, $totalPages_Recordset2, $queryString_Recordset2); ?>">Dernier</a>
<?php } // Show if not last page ?> </td>
</tr>
</table></p>
</td>
</tr>
</table>
?>
bah en fait il semble considéré que ton $row_Recordset2 n'est pas renseigné... ou n'est pas un tableau... comme s'il n'y avait pas de résultat
Essaye le code ci-dessous, je t'ai transformé le do/while en while pour tester s'il y a des résultats et ai inclu la transformation des dates dans la boucle...
[php]
<?php
$num_mois=$_POST['num_mois'];//récupération de la variable num_mois
$evenement2=$_POST['evenement2'];
$departement2=$_POST['departement2'];
mysql_select_db($database_connexion, $connexion);
$query_rs2departement = "SELECT distinct departement FROM tb_evenements ORDER BY departement ASC";
$rs2departement = mysql_query($query_rs2departement, $connexion) or die(mysql_error());
$row_rs2departement = mysql_fetch_assoc($rs2departement);
$totalRows_rs2departement = mysql_num_rows($rs2departement);
mysql_select_db($database_connexion, $connexion);
$query_rs2evenement = "SELECT distinct evenement FROM tb_evenements ORDER BY evenement ASC";
$rs2evenement = mysql_query($query_rs2evenement, $connexion) or die(mysql_error());
$row_rs2evenement = mysql_fetch_assoc($rs2evenement);
$totalRows_rs2evenement = mysql_num_rows($rs2evenement);
$maxRows_Recordset2 = 5;
$pageNum_Recordset2 = 0;
if (isset($HTTP_GET_VARS['pageNum_Recordset2'])) {
$pageNum_Recordset2 = $HTTP_GET_VARS['pageNum_Recordset2'];
}
$startRow_Recordset2 = $pageNum_Recordset2 * $maxRows_Recordset2;
mysql_select_db($database_connexion, $connexion);
$query_Recordset2 = "SELECT evenement, descriptif, ville, datedebut, datefin ";
$query_Recordset2.= " FROM tb_evenements ";
$query_Recordset2.= " WHERE MONTH(datedebut)<=$num_mois AND MONTH(datefin)>=$num_mois ";
if(!empty($evenement2)) {// si un événement est séléctionné, on ne ramene que les enregistrements associés à celui-ci
$query_Recordset2.= " AND evenement='$evenement2' ";
}
// tu pourras aussi envisager un if similaire ici, si un jour tu veux faire une recherche sur tous les départements
$query_Recordset2.= " AND departement='$departement2' ";
$query_limit_Recordset2 = sprintf("%s LIMIT %d, %d", $query_Recordset2, $startRow_Recordset2, $maxRows_Recordset2);
$Recordset2 = mysql_query($query_limit_Recordset2, $connexion) or die(mysql_error());
// traitement du résultat déplacé dans la boucle while
if (isset($HTTP_GET_VARS['totalRows_Recordset2'])) {
$totalRows_Recordset2 = $HTTP_GET_VARS['totalRows_Recordset2'];
} else {
$all_Recordset2 = mysql_query($query_Recordset2);
$totalRows_Recordset2 = mysql_num_rows($all_Recordset2);
}
$totalPages_Recordset2 = ceil($totalRows_Recordset2/$maxRows_Recordset2)-1;
$queryString_Recordset2 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
$params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset2") == false &&
stristr($param, "totalRows_Recordset2") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset2 = "&" . implode("&", $newParams);
}
}
$queryString_Recordset2 = sprintf("&totalRows_Recordset2=%d%s", $totalRows_Recordset2, $queryString_Recordset2);
<body>
<table width="600" height="371" border="0" align="center" cellspacing="3">
<tr>
<td width="90" colspan="5">
<br><br><br><br><br><br>
<?php if ($totalRows_Recordset2 > 0) { // Show if recordset not empty ?>
<table width="600" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" align="center" cellpadding="1">
<tr bgcolor="#F5CB37">
<td class="td1">Evénement</td>
<td class="td1">Descriptif</td>
<td class="td1">Ville</td>
<td class="td1">Date début</td>
<td class="td1">Date fin</td>
</tr>
<?php // Modification du do/while en while :
while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)) { // pour chaque ligne ramenée par $Recordset2
$row_Recordset2['datedebut']= preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3.$2.$1', $row_Recordset2['datedebut']);
$row_Recordset2['datefin']= preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3.$2.$1', $row_Recordset2['datefin']);
?>
<tr bgcolor="#DAECA4">
<td class="td1"><?php echo $row_Recordset2['evenement']; ?></td>
<td class="td1"><?php echo $row_Recordset2['descriptif']; ?></td>
<td class="td1"><?php echo $row_Recordset2['ville']; ?></td>
<td class="td1"><?php echo $row_Recordset2['datedebut']; ?></td>
<td class="td1"><?php echo $row_Recordset2['datefin']; ?></td>
</tr>
<?php } ?>
</table>
<?php }
else { // Show if recordset empty
?>
<p>Désolé mais il n'y a pas de résultat correspondant à cette recherche</p>
<?php } // Show if recordset empty ?>
<p> </p>
<p class="td2"> Enregistrements <?php echo ($startRow_Recordset2 + 1) ?> à <?php echo min($startRow_Recordset2 + $maxRows_Recordset2, $totalRows_Recordset2) ?> sur <?php echo $totalRows_Recordset2 ?>
<table border="0" width="50%" align="center">
<tr>
<td class="td2" width="23%" align="center"> <?php if ($pageNum_Recordset2 > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, 0, $queryString_Recordset2); ?>">Premier</a>
<?php } // Show if not first page ?> </td>
<td class="td2" width="31%" align="center"> <?php if ($pageNum_Recordset2 > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, max(0, $pageNum_Recordset2 - 1), $queryString_Recordset2); ?>">Précédent</a>
<?php } // Show if not first page ?> </td>
<td class="td2" width="23%" align="center"> <?php if ($pageNum_Recordset2 < $totalPages_Recordset2) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, min($totalPages_Recordset2, $pageNum_Recordset2 + 1), $queryString_Recordset2); ?>">Suivant</a>
<?php } // Show if not last page ?> </td>
<td class="td2" width="23%" align="center"> <?php if ($pageNum_Recordset2 < $totalPages_Recordset2) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Recordset2=%d%s", $currentPage, $totalPages_Recordset2, $queryString_Recordset2); ?>">Dernier</a>
<?php } // Show if not last page ?> </td>
</tr>
</table></p>
</td>
</tr>
</table>
?>[/php]