Groumpf !
C'est pour le moins étrange...
Tu peux poster le code de la page qui traite ton formulaire ? (avec la récupération des données, la requête sql qui recherche l'événement, etc.)
le tout dans une jolie balise [ php ] ;p
<?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 FROM tb_evenements WHERE MONTH(datedebut)<=$num_mois AND MONTH(datefin)>=$num_mois AND tb_evenements.evenement='$evenement2' AND tb_evenements.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());
$row_Recordset2 = mysql_fetch_assoc($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']);
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"> <div align="center"></div>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div>
<?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 do
{ ?>
<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 } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
</table>
<?php } // Show if recordset not empty ?> <?php if ($totalRows_Recordset2 == 0) { // 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>
?>
$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 tb_evenements.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 tb_evenements.departement='$departement2' ";
Notice: Undefined variable: row_Recordset2 in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 54
Notice: Undefined index: datefin in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 55
Notice: Undefined variable: Recordset2 in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 152
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 152
Notice: Undefined index: evenement in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 146
Notice: Undefined index: descriptif in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 147
Notice: Undefined index: ville in c:\program files\easyphp1-8\www\site\evenementsdecouvertesresultat.php on line 148
$row_Recordset2['datedebut']= preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3.$2.$1', $row_Recordset2['datedebut']);
et du coup rien ne fonctionne, donc pour vérifier l'histoire de tranformation de date on dirait bien qu'il y a un rapport aussi. Mais bon aujourd'hui je capte pas grand chose, va falloir vraiment bien m'expliquer !
<?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>
?>
while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)) {
...
}joue le rôle d'un SI tu as des résultats et TANT QUE tu as des résultats, alors il exécute le traitement (donc si pas de résultat, pas de traitement).
do {
...
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2))
équivaut à FAIRE le traitement suivant et le faire TANT QUE tu as des résultats. Du coup il exécutait toujours le traitement au moins une fois, même si tu n'avais pas (ou plus) de résultats, ce qui pouvait donc être génant