le 03/07/2009 à 15:11
rafale69300
Oui puisque l'id du formulaire est site donc normalement oui. Je viens de tester que si je mets la balise </form> après le <select> cela me donne toujours pas le résultat voulu.
<select name="choix" onchange="this.form.submit();">
function (event)
{
// Contenu de l'attribut onchange
this.form.submit();
}
.call(element, onchangeEvent) ;
<form name="formulaire" action="./index.php?page=test&categorie=search" method="post" id="site">
</p>
<p align="center"><?php $requete='SELECT id_site,lib_site FROM sites order by lib_site';
$resultat= mysql_query($requete);?>
<select name="choix" onChange="document.forms['site'].submit();">
<option value="0">Choisissez un site</option>
<?php
while ($donnees = mysql_fetch_array($resultat)){
echo '<option value='.$donnees[0].'>';
echo $donnees[1];
echo'</option>';
}
?>
</select> </form>
<?php
// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
if(isset($_POST['choix']))
$_SESSION['choix'] = $_POST['choix'] ;{
$sql = 'SELECT count(*) FROM batiments where id_site = '.$_SESSION['choix'].' ';
// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);
// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo ' Aucune réponse trouvée';
}
else { ?>
<p align="center">
<p align="center">
<p align="center">
<?php if(isset($_POST['choix']))
$_SESSION['choix'] = $_POST['choix'] ;{
$requete2="SELECT lib_site FROM sites
WHERE id_site ='".$_SESSION['choix']."'
";
$resultat2=mysql_query($requete2);
while ($donnees2 = mysql_fetch_array($resultat2)){
?>
Voici tous les bâtiments du site suivant : <strong><?php echo $donnees2['lib_site'];?></strong><br><br>Pour plus d'informations sur un bâtiment, cliquez sur son nom.<br><br><?php }
echo '<div align="center"><table width="500px" border="1" align="center">
<tr>
<td><div align="center"><strong>Code Bâtiment</strong></div></td>
<td><div align="center"><strong>Nom Bâtiment</strong></div></td>
<td><div align="center"><strong>Nb Etage Bâtiment</strong></div></td>
<td><div align="center"><strong>Fonction Bâtiment</strong></div></td>
</tr>';
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 1;
// Préparation de la requête avec le LIMIT
$sql = 'SELECT code_bat, nom_bat, nbEtage_bat, fct_bat, id_bat, lib_site FROM batiments B, sites S
WHERE B.id_site='.$_SESSION['choix'].'
AND S.id_site = B.id_site
ORDER BY code_bat ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table> ?>
<tr><td><div align="center"><?php echo $data['code_bat'];?></div></td><td><div align="center"><?php
echo '<a href="./index.php?page=info_bat&categorie=batiment&choix='.$data['id_bat'].'">'.$data['nom_bat'].'</a>';?></div></td><td><div align="center"><?php
echo $data['nbEtage_bat'];?></div></td><td><div align="center"><?php
echo $data['fct_bat'];?></div></td></tr><?php
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
echo '</table><br />';
// on affiche enfin notre barre
echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 1).'</span>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
echo '</table><br />';
}
?>
</div></p>
<?php }
?>
<?php
//demarrage dune session
session_start() ;
include("connect.php");
// include your code to connect to DB.
include('paginate.php');
//Connexion
connexion1 () ;
$city=$_POST['city'];
$category=$_POST['category'];
/* Calcul du nombre total d'entrées $total dans la table posts */
$query = "SELECT count(*) FROM a WHERE ville = '$city' AND rubrique = '$category'";
$res = mysql_query($query);
$row = mysql_fetch_row($res);
$total = $row[0];
/* Libération du résultat */
mysql_free_result($res);
/* Déclaration des variables */
$epp = 3; // nombre d'entrées à afficher par page (entries per page)
$countp = ceil($total/$epp); // calcul du nombre de pages $countp (on arrondit à l'entier supérieur avec la fonction ceil() )
/* Récupération du numéro de la page courante depuis l'URL avec la méthode GET */
if(!isset($_GET['p']) || !is_numeric($_GET['p']) ) // si $_GET['p'] n'existe pas OU $_GET['p'] n'est pas un nombre (petite sécurité supplémentaire)
$current = 1; // la page courante devient 1
else
{
$page = intval($_GET['p']); // stockage de la valeur entière uniquement
if ($page < 1) $current=1; // cas où le numéro de page est inférieure 1 : on affecte 1 à la page courante
elseif ($page > $countp) $current=$countp; //cas où le numéro de page est supérieur au nombre total de pages : on affecte le numéro de la dernière page à la page courante
else $current=$page; // sinon la page courante est bien celle indiquée dans l'URL
}
/* $start est la valeur de départ du LIMIT dans notre requête SQL (est fonction de la page courante) */
$start = ($current * $epp - $epp);
/* Récupération des données à afficher pour la page courante */
$qry = "SELECT id FROM a WHERE ville = '$city' AND rubrique = '$category' LIMIT $start, $epp";
$res = mysql_query($qry);
if ($res)
{
/* Affichage des données */
echo "<ul>\n";
while($item = mysql_fetch_array($res)) {
echo "<li>" .$item['id']. "</li>\n";
echo "<li>" .$item['ville']. "</li>\n";
echo "<li>" .$item['quartier']. "</li>\n";
}
echo "</ul>\n";
/* Libération du résultat */
mysql_free_result($res);
}
else { die ("Erreur dans le query: $qry " .mysql_error());
}
?>
<?php
/* Appel de la fonction */
echo paginate($_SERVER['PHP_SELF'], '?p=', $countp, $current);
?>