Bonjour à tous,
j'ai une liste déroulante qui est alimentée dynamiquement qui contient des périodes et je voudrais qu'en fonction de la période choisie un calcul de date s'effectue et s'affiche à un endroit précis. Après mes recherches je me suis tourné vers ajax(je précise que je suis débutant)
ma page en question s'appele renouvellement.php et est incluse dans une autre appelée corps.php,
voici un aperçu du code que j'ai dans corps.php :
<script type="text/javascript">
/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param, page)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else
//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");
XhrObj.open("POST", page);
//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML = XhrObj.responseText ;
}
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}//fin fonction SendData
</script>
</head>
voici ensuite un exemplaire de mon fichier renouvellement.php :
<?php
$domaine=new domaine();
$periode=new periode();
$periode_sel=$periode->select();
$tableau=$_POST['choix'];
$selection.="<select name='periode' OnChange='sendData('id='+this.value,'?page=dom_p9')' onKeyUp='sendData('id='+this.value,'?page=dom_p9')'>"; while(!$periode_sel->EOF)
{
$periode_id=$periode_sel->fields['periode_id'];
$periode_lib=$periode_sel->fields['periode_lib'];
$periode_mont=$periode_sel->fields['periode_mont'];
$selection.="<option value='".$periode_id."'>".$periode_lib."</option>";
$periode_sel->MoveNext();
}
$selection.="</select>";
?>
<table width="671" border="1">
<tr>
<td> </td>
</tr>
</table>
<p> </p>
<form name="" method="post" action="">
<table width="676" height="285" border="1">
<tr>
<td>Domaine</td>
<td>Date d'expiration </td>
<td>Période</td>
<td>Nouvelle date </td>
<td>Prix</td>
</tr>
<?php
if(!empty($tableau))
{
foreach($tableau as $valeur)
{
?>
<tr>
<td><?php echo $valeur;?></td>
<td>
<?php
$domaine_sel=$domaine->select("dom_nom",$valeur);
list($date_jr,$heure)=explode(" ",$domaine_sel->fields['dom_datefin']);
echo $date_jr;
?>
</td>
<td>
<?php
echo $selection;
?>
</td>
<td>
<div id="contenu">
<?php
echo $date_jour; //ici je voudrais que s'affiche la date après calcul
?>
</div>
</td> <td> </td>
<?php
}
}
?>
</tr>
</table>
</form>
et enfin voici mon fichier liresc.php auquel fait référence ?page=dom_p9
<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
$domaine1=new domaine();
$domaine1_sel=$domaine1->select("dom_nom",$valeur);
$domaine1_date=$domaine1_sel->fields['dom_datefin'];
$date_fin1=date('Y-m-dH:i:s',mktime(0,0,0,$domaine1_date('m'),$domaine1_date('d'),($domaine1_date('Y')+$_POST['periode'])));
list($date_jour,$heure)=explode(" ",$domaine1_date);
echo $date_jour;
}
?>
Le problème que je rencontre est qu'il ne fonctionne pas et qu'il ne m'affiche aucune erreur non plus si quelqu'un a une idée d'où se trouve l'erreur 1 coup de main serait pas de refus