Ses derniers sujets sur les forums
Bonjour tout le monde,
Je vous explique mon problème.
J'ai une page php :
au début une liste déroulante remplie par une reqûete et en fonction de son choix après un on Change l'affichage est différent jusqu'ici aucun problème. Après avoir lu le tutoriel sur la pagination l'avoir correctement étudié un problème apparaît :
Car au départ je l'ai adapté mais sans ma liste déroulante et il marche très bien félication a LA GLOBULE cependant dès que je rajoute ma liste déroulante il y a un problème, c'est à dire que m'a première page s'affiche correctement par contre quand je clique pour aller à la page suivante je me retrouve juste avec ma liste déroulante comme sur ma 1ère page lorque l'utilisateur n'a pas fait encore son choix.
Donc si vous voyez une solution pour ce problème merci d'avance !
Jérémy
bonjour tout le monde,
Ma page permet de sélectionner dans la 1ère liste un bâtiment et sa salle en fonction de ce choix dans la 2ème liste il y a les portes de cette salle, après l'avoir sélectionnée je voudrais afficher ces informations pour cela je dois récupérer la valeur de ma 2ème liste, je pense le faire correctement mais malheureusement non puisque j'ai un problème de fetch array donc ma requête doit être fausse.
Je vous laisse mon code, c'est vers la ligne 124 qu'il y a le problème du fetch array.
<?php
/* On récupère si elle existe la valeur du batiment envoyée par le formulaire */
$idr = isset($_POST['salle'])?$_POST['salle']:null;
if(isset($_POST['ok']) && isset($_POST['porte']) && $_POST['porte'] != "")
{
$salle_selectionnee = $_POST['salle'];
$porte_selectionne = $_POST['porte'];
}
?>
<?php
$sql1 = "SELECT B.id_bat,nom_bat,id_salle,lib_salle FROM batiments B,salles S WHERE B.id_bat = S.id_bat order by nom_bat";
$rech_salle = mysql_query($sql1);
$code_salle = array();
$nom_salle = array();
$nom_bat = array();
/* On active un compteur pour les batiments */
$nb_salle = 0;
if($rech_salle != false)
{
while($ligne = mysql_fetch_assoc($rech_salle))
{
array_push($code_salle, $ligne['id_salle']);
array_push($nom_salle, $ligne['lib_salle']);
array_push($nom_bat, $ligne['nom_bat']);
/* On incrémente de compteur */
$nb_salle++;
}
}
?>
<style type="text/css">
<!--
.taille {font-size: x-small}
-->
</style>
<p align="center"><strong>Informations sur une porte de la commune :</strong></p>
<p> </p>
<p class="taille">Sélectionnez un bâtiment et une salle dans la 1ère liste déroulante puis dans la 2ème liste déroulante sélectionnez une porte et vous aurez accès à toutes ces informations</p>
<form name="formulaire" action="./index.php?page=info_porte&categorie=porte" method="post" id="chgsalle">
<?php
mysql_free_result($rech_salle);
/* On commence par vérifier si on a envoyé un numéro de batiment et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Cération de la requête pour avoir les salles de ce batiment */
$sql2 = "SELECT `id_porte`, `lib_porte`".
" FROM `portes`".
" WHERE `id_salle` = ". $idr ."".
" ORDER BY `id_porte`;";
$rech_porte = mysql_query($sql2);
/* Un petit compteur pour les salles */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des salles */
$code_porte = array();
$nom_porte = array();
/* On va mettre les numéros et noms des salles dans les deux tableaux */
while($ligne_porte = mysql_fetch_assoc($rech_porte))
{
array_push($code_porte, $ligne_porte['id_porte']);
array_push($nom_porte, $ligne_porte['lib_porte']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
}
?>
<table width="50%" border="0">
<tr>
<td width="45%"><p>Bâtiment & Salle<span class="Etoile"></span> :</p>
<p>
<select name="salle" id="salle" onchange="document.forms['chgsalle'].submit();">
<option value="-1">Choisissez un batiment & salle</option>
<?php
for($i = 0; $i < $nb_salle; $i++)
{
?>
<option value="<?php echo($code_salle[$i]); ?>"<?php echo((isset($idr) && $idr == $code_salle[$i])?" selected=\"selected\"":null); ?>><?php echo($nom_bat[$i]." - ".$nom_salle[$i]); ?></option>
<?php
}
?>
</select>
</p></td></tr><tr>
<td width="55%"><p>Porte<span class="Etoile"></span> :</p>
<p><select name="porte" id="porte">
<option value="-1">Choisissez une porte</option>
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_porte[$d]); ?>"<?php echo((isset($porte_selectionne) && $porte_selectionne == $code_porte[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_porte[$d]." "); ?></option>
<?php
}
?>
</select>
</p></td>
</tr></table>
<?php
if(isset($_POST['porte'])){
$requete="SELECT code_porte,lib_porte,lib_salle,S.id_salle FROM portes P,salles S
WHERE S.id_salle='".$_POST['porte']."'
AND P.id_salle = S.id_salle";
$resultat=mysql_query($requete);}
else{
if(isset($_GET['porte'])){
$requete="SELECT code_porte,lib_porte,lib_salle,S.id_salle FROM portes P,salles S
WHERE S.id_salle='".$_GET['porte']."'
AND P.id_salle = S.id_salle";
$resultat=mysql_query($requete);}
}
while($donnees = mysql_fetch_array($resultat)){
?>
<p align="center">
<p align="center">
<p align="center">
<p><strong>Code de la Porte :</strong> <?php echo $donnees[0];?></p><br />
<p><strong>Libéllé de la Porte :</strong> <?php echo $donnees[1];?></p><br />
<p><strong>Salle de la Porte :</strong> <?php echo '<a href="./index.php?page=info_salle&categorie=salle&choix='.$donnees[3].'">'.$donnees[2].'</a>';?></p><br />
<?php
}
?>
Jérémy
Bonjour tout le monde !
Voici mon problème, après avoir trouvé plusieurs sources sur le net, j'ai réussi à lié 2 listes déroulantes mais par rapport à ce script je n'arrive pas à lié la 3ème. Je vous laisse mon script des deux listes déroulantes. Merci par avance de votre aide.
<?php
/* On récupère si elle existe la valeur du batiment envoyée par le formulaire */
$idr = isset($_POST['bat'])?$_POST['bat']:null;
if(isset($_POST['ok']) && isset($_POST['salle']) && $_POST['salle'] != "")
{
$bat_selectionnee = $_POST['bat'];
$salle_selectionne = $_POST['salle'];
}
?>
<h3>
<?php
$sql1 = "SELECT `id_bat`, `nom_bat`".
" FROM `batiments`".
" ORDER BY `id_bat`";
$rech_bat = mysql_query($sql1);
$code_bat = array();
$nom_bat = array();
/* On active un compteur pour les batiments */
$nb_bat = 0;
if($rech_bat != false)
{
while($ligne = mysql_fetch_assoc($rech_bat))
{
array_push($code_bat, $ligne['id_bat']);
array_push($nom_bat, $ligne['nom_bat']);
/* On incrémente de compteur */
$nb_bat++;
}
}
?>
</h3>
<form name="formulaire" action="./index.php?page=ajout_porte&categorie=porte" method="post" id="chgsalle">
<?php
mysql_free_result($rech_bat);
/* On commence par vérifier si on a envoyé un numéro de batiment et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Cération de la requête pour avoir les salles de ce batiment */
$sql2 = "SELECT `id_salle`, `lib_salle`".
" FROM `salles`".
" WHERE `id_bat` = ". $idr ."".
" ORDER BY `id_salle`;";
$rech_salle = mysql_query($sql2);
/* Un petit compteur pour les salles */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des salles */
$code_salle = array();
$nom_salle = array();
/* On va mettre les numéros et noms des salles dans les deux tableaux */
while($ligne_salle = mysql_fetch_assoc($rech_salle))
{
array_push($code_salle, $ligne_salle['id_salle']);
array_push($nom_salle, $ligne_salle['lib_salle']);
$nd++;
}
}
?>
<table width="50%" border="0">
<tr>
<td width="45%"><p>Bâtiment de la Porte<span class="Etoile"> *</span> :</p>
<p>
<select name="bat" id="bat" onchange="document.forms['chgsalle'].submit();">
<option value="-1">Choisissez un batiment</option>
<?php
for($i = 0; $i < $nb_bat; $i++)
{
?>
<option value="<?php echo($code_bat[$i]); ?>"<?php echo((isset($idr) && $idr == $code_bat[$i])?" selected=\"selected\"":null); ?>><?php echo($nom_bat[$i]); ?></option>
<?php
}
?>
</select>
</p></td>
<td width="55%"><p>Salle de la Porte<span class="Etoile"> *</span> :</p>
<p><select name="salle" id="salle">
<option value="-1">Choisissez une salle</option>
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_salle[$d]); ?>"<?php echo((isset($salle_selectionne) && $salle_selectionne == $code_salle[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_salle[$d]." "); ?></option>
<?php
}
?>
</select>
</p></td></tr></table></form>
Jérémy
Bonjour tout le monde, j'ai un problème avec mon update au niveau de la date de naissance, je vous laisse mon update :
<?php
$sql="UPDATE personnel SET code_perso='".mysql_escape_string($_POST['code'])."',
civil_perso='".mysql_escape_string($_POST['civil'])."',
nom_perso='".mysql_escape_string($_POST['nom'])."',
prenom_perso='".mysql_escape_string($_POST['prenom'])."',
dateNaissance_perso = str_to_date'"('".$_POST['datenaiss']."',"%d-%m-%Y")."',
adr_perso='".mysql_escape_string($_POST['adr'])."',
cp_perso='".mysql_escape_string($_POST['cp'])."',
ville_perso='".mysql_escape_string($_POST['ville'])."',
tel_perso='".mysql_escape_string($_POST['tel'])."',
port_perso='".mysql_escape_string($_POST['port'])."',
mail_perso='".mysql_escape_string($_POST['mail'])."',
id_service='".mysql_escape_string($_POST['service'])."',
id_cat='".mysql_escape_string($_POST['categorie'])."',
WHERE id_perso='".($_POST['choix'])."'";php?>
Jérémy