Pb récupération données liste déroulantes
Laëtitia
-
Laëtitia -
Laëtitia -
Bonjour,
j'ai trouvé sur un site le script pour faire des listes déoulantes liées, j'ai réussi à les mettre en marche mais mon souci c'est que je veux récupérer les données de ces listes déroulantes pour pouvoir supprimer des champs dans une table. J'ai mis <form action="reservation_supprbis.php"> un peu partout mais rien y fait !
J'espère que certains pourront m'aider !
Voila mon code :
<?php
session_start();
//si la session n'existe pas, redirection vers index.php
if (!isset($_SESSION['nom']))
{
Header('Location: index.php');
}
//on affiche la page voulue
else
{
?>
<HTML>
<HEAD>
<TITLE>Suppression réservation</TITLE>
<link rel="stylesheet" href="include/style.css">
<script type='text/javascript'>
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(){
var xhr = getXhr();
// On définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('reservation').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","date.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de la stb
sel = document.getElementById('stb');
idstb = sel.options[sel.selectedIndex].value;
xhr.send("idstb="+idstb);
}
</script>
</HEAD>
<BODY>
<div id="ecriture2">
Suppression de réservation <br/><br/>
</div>
<form>
STB :
<select name='stb' id='stb' onchange='go()'>
<option value='-1'>Choisir une STB</option>
<?php
include ("/var/www/function.php");
require_once ("/var/www/include/auth.inc");
$mysqlLink = connexion(HOST,USER,PWD,BDD);
$res = mysql_query("SELECT DISTINCT idstb, stbName FROM stb, reservation, campagne, firmware
WHERE reservation.campagne_idcampagne=campagne.idcampagne
AND campagne.firmware_idfirmware=firmware.idfirmware
AND firmware.stb_idstb=stb.idstb");
while($row = mysql_fetch_assoc($res))
{
echo "<option value='".$row["idstb"]."'>".$row["stbName"]."</option>";
}
?>
</select>
<br/><br/>
Date et heure de début :
<div id='reservation' style='display:inline'>
<select name='reservation'>
<option value='-1'>Choisir une STB avant !</option>
</select>
</div>
</form>
<?php
echo'<br/><br/>';
echo '<input type="submit" value="Valider"/>';
echo '<input type="reset" value="Annuler"/><br/><br/>';
echo'<br/>';
echo'<div id="ecriture3"';
echo "<a href='reservation.php'> Retour au menu des réservations </a>";
echo'</div>';
}
?>
</BODY>
</HTML>
et voila ma page date.php :
<?php
session_start();
//si la session n'existe pas, redirection vers index.php
if (!isset($_SESSION['nom']))
{
Header('Location: index.php');
}
//on affiche la page voulue
else
{
?>
<HTML>
<HEAD>
<TITLE></TITLE>
<link rel="stylesheet" href="include/style.css">
</HEAD>
<BODY>
<?php
echo "<select name='reservation'>";
if(isset($_POST["idstb"]))
{
include ("/var/www/function.php");
require_once ("/var/www/include/auth.inc");
$mysqlLink = connexion(HOST,USER,PWD,BDD);
$res = mysql_query("SELECT date_start FROM reservation, campagne, firmware, stb
WHERE reservation.campagne_idcampagne=campagne.idcampagne
AND campagne.firmware_idfirmware=firmware.idfirmware
AND firmware.stb_idstb=stb.idstb
AND stb.idstb=".$_POST["idstb"]."");
while($row = mysql_fetch_assoc($res))
{
echo "<option value='".$row["date_start"]."'>".$row["date_start"]."</option>";
}
}
echo "</select>";
}
?>
</BODY>
</HTML>
Merci beaucoup à ceux qui vont m'aider !
j'ai trouvé sur un site le script pour faire des listes déoulantes liées, j'ai réussi à les mettre en marche mais mon souci c'est que je veux récupérer les données de ces listes déroulantes pour pouvoir supprimer des champs dans une table. J'ai mis <form action="reservation_supprbis.php"> un peu partout mais rien y fait !
J'espère que certains pourront m'aider !
Voila mon code :
<?php
session_start();
//si la session n'existe pas, redirection vers index.php
if (!isset($_SESSION['nom']))
{
Header('Location: index.php');
}
//on affiche la page voulue
else
{
?>
<HTML>
<HEAD>
<TITLE>Suppression réservation</TITLE>
<link rel="stylesheet" href="include/style.css">
<script type='text/javascript'>
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(){
var xhr = getXhr();
// On définit ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('reservation').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","date.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de la stb
sel = document.getElementById('stb');
idstb = sel.options[sel.selectedIndex].value;
xhr.send("idstb="+idstb);
}
</script>
</HEAD>
<BODY>
<div id="ecriture2">
Suppression de réservation <br/><br/>
</div>
<form>
STB :
<select name='stb' id='stb' onchange='go()'>
<option value='-1'>Choisir une STB</option>
<?php
include ("/var/www/function.php");
require_once ("/var/www/include/auth.inc");
$mysqlLink = connexion(HOST,USER,PWD,BDD);
$res = mysql_query("SELECT DISTINCT idstb, stbName FROM stb, reservation, campagne, firmware
WHERE reservation.campagne_idcampagne=campagne.idcampagne
AND campagne.firmware_idfirmware=firmware.idfirmware
AND firmware.stb_idstb=stb.idstb");
while($row = mysql_fetch_assoc($res))
{
echo "<option value='".$row["idstb"]."'>".$row["stbName"]."</option>";
}
?>
</select>
<br/><br/>
Date et heure de début :
<div id='reservation' style='display:inline'>
<select name='reservation'>
<option value='-1'>Choisir une STB avant !</option>
</select>
</div>
</form>
<?php
echo'<br/><br/>';
echo '<input type="submit" value="Valider"/>';
echo '<input type="reset" value="Annuler"/><br/><br/>';
echo'<br/>';
echo'<div id="ecriture3"';
echo "<a href='reservation.php'> Retour au menu des réservations </a>";
echo'</div>';
}
?>
</BODY>
</HTML>
et voila ma page date.php :
<?php
session_start();
//si la session n'existe pas, redirection vers index.php
if (!isset($_SESSION['nom']))
{
Header('Location: index.php');
}
//on affiche la page voulue
else
{
?>
<HTML>
<HEAD>
<TITLE></TITLE>
<link rel="stylesheet" href="include/style.css">
</HEAD>
<BODY>
<?php
echo "<select name='reservation'>";
if(isset($_POST["idstb"]))
{
include ("/var/www/function.php");
require_once ("/var/www/include/auth.inc");
$mysqlLink = connexion(HOST,USER,PWD,BDD);
$res = mysql_query("SELECT date_start FROM reservation, campagne, firmware, stb
WHERE reservation.campagne_idcampagne=campagne.idcampagne
AND campagne.firmware_idfirmware=firmware.idfirmware
AND firmware.stb_idstb=stb.idstb
AND stb.idstb=".$_POST["idstb"]."");
while($row = mysql_fetch_assoc($res))
{
echo "<option value='".$row["date_start"]."'>".$row["date_start"]."</option>";
}
}
echo "</select>";
}
?>
</BODY>
</HTML>
Merci beaucoup à ceux qui vont m'aider !
A voir également:
- Pb récupération données liste déroulantes
- Fuite données maif - Guide
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Logiciel de récupération de données - Guide
3 réponses
Bonjour,
Je n'ai pas trop regardé le code, mais concernant le form :
Il faut mettre les balises <form> et </form> de facon a entourer le select
Ensuite, il ne pas oublier d'indiquer la méthode d'envoi de formulaire :
Enfin, il faut un moyen d'envoyer le formulaire, avec un input type submit, qui est la solution la plus simple (a placer entre les balises form aussi)
Voila, ca t'aide un peu ?
Je n'ai pas trop regardé le code, mais concernant le form :
Il faut mettre les balises <form> et </form> de facon a entourer le select
<form> <select> <option /> <option /> </select> </form>
Ensuite, il ne pas oublier d'indiquer la méthode d'envoi de formulaire :
<form action="reservation_supprbis.php" method="POST">
Enfin, il faut un moyen d'envoyer le formulaire, avec un input type submit, qui est la solution la plus simple (a placer entre les balises form aussi)
<input type="submit" value="Valider">
Voila, ca t'aide un peu ?
Laëtitia
Merci pour ton aide mais ça j'ai déjà essayer, même à plusieurs endroits du code et rien n'y fait =(
Comment ca ? Le bouton submit ne mène a rien ?
La variable POST correspondante n'existe pas ?
Ou est-ce que ca coince, en fait ?
La variable POST correspondante n'existe pas ?
Ou est-ce que ca coince, en fait ?
pourrais-tu nous mettre un lien vers ta page pour voir ce que cela donne sur ton serveur Web si tu en as un bien sur.
Sinon, je vois que tu met tes options de select directement dans ton code PHP en echo.
Les autres ont raison, qu'est-ce qu'il ne marche pas concrètement ?
Qu'est-ce que cela t'affiche ?
Sinon, je vois que tu met tes options de select directement dans ton code PHP en echo.
Les autres ont raison, qu'est-ce qu'il ne marche pas concrètement ?
Qu'est-ce que cela t'affiche ?