Addition des valeurs issues de <select...>
Résolu
oliopur
Messages postés
16
Statut
Membre
-
oliopur Messages postés 16 Statut Membre -
oliopur Messages postés 16 Statut Membre -
Bonjour,
J'ai un gros soucis en tentant de reecrire une page PHP (HTML)
en effet, je souhaite additionner dans une variable (moretime), à chaque changement les valeurs choisies avec select et je n'y arrive pas.
il y a 4 select : un pour les jours, un pour les heures, un pour les minutes et un pour les secondes.
ainsi qu'une variable pour l'addition de toutes ces valeurs,
j'avais pensé à :
$moretime=($moretimeJ*24*60*60)+($moretimeH*24*60)+($moretimeM*60)+moretimeS
avec un 'onchange' dans les <select> mais ça ne fonctionne pas!
Merci à ceux qui voudraient bien m'aider...
J'ai un gros soucis en tentant de reecrire une page PHP (HTML)
en effet, je souhaite additionner dans une variable (moretime), à chaque changement les valeurs choisies avec select et je n'y arrive pas.
il y a 4 select : un pour les jours, un pour les heures, un pour les minutes et un pour les secondes.
ainsi qu'une variable pour l'addition de toutes ces valeurs,
j'avais pensé à :
$moretime=($moretimeJ*24*60*60)+($moretimeH*24*60)+($moretimeM*60)+moretimeS
avec un 'onchange' dans les <select> mais ça ne fonctionne pas!
Merci à ceux qui voudraient bien m'aider...
<tr style="height:23px; background-color:#DFDFFE">
<td>Temps</td>
<?php $moretime=86400;
//soit 3 jours en secondes
?>
<td>
<!-------------- DEBUT TRAITEMENT ---------------------------------->
<select style="width:50px;" name="moretimeJ" >
<option <?php echo ($moretimeJ=="0") ? " selected=\"selected\" " : " "; ?>
value="0">0</option>
<option <?php echo ($moretimeJ=="1") ? " selected=\"selected\" " : " "; ?>
value="1">1</option>
<option <?php echo ($moretimeJ=="2") ? " selected=\"selected\" " : " "; ?>
value="2">2</option>
<option <?php echo ($moretimeJ=="3") ? " selected=\"selected\" " : " "; ?>
value="3">3</option>
<option <?php echo ($moretimeJ=="4") ? " selected=\"selected\" " : " "; ?>
value="4">4</option>
</select> J +
<select style="width:50px;" name="moretimeH" >
<option <?php echo ($moretimeH=="0") ? " selected=\"selected\" " : " "; ?>
value="0">0 </option>
<option <?php echo ($moretimeH=="1") ? " selected=\"selected\" " : " "; ?>
value="1">1</option>
<option <?php echo ($moretimeH=="2") ? " selected=\"selected\" " : " "; ?>
value="2">2</option>
<option <?php echo ($moretimeH=="3") ? " selected=\"selected\" " : " "; ?>
value="3">3</option>
<option <?php echo ($moretimeH=="4") ? " selected=\"selected\" " : " "; ?>
value="4">4</option>
<option <?php echo ($moretimeH=="5") ? " selected=\"selected\" " : " "; ?>
value="5">5</option>
<option <?php echo ($moretimeH=="6") ? " selected=\"selected\" " : " "; ?>
value="6">6</option>
<option <?php echo ($moretimeH=="7") ? " selected=\"selected\" " : " "; ?>
value="7">7</option>
<option <?php echo ($moretimeH=="8") ? " selected=\"selected\" " : " "; ?>
value="8">8</option>
<option <?php echo ($moretimeH=="9") ? " selected=\"selected\" " : " "; ?>
value="9">9</option>
<option <?php echo ($moretimeH=="10") ? " selected=\"selected\" " : " "; ?>
value="10">10 </option>
<option <?php echo ($moretimeH=="11") ? " selected=\"selected\" " : " "; ?>
value="11">11</option>
<option <?php echo ($moretimeH=="12") ? " selected=\"selected\" " : " "; ?>
value="12">12</option>
<option <?php echo ($moretimeH=="13") ? " selected=\"selected\" " : " "; ?>
value="13">13</option>
<option <?php echo ($moretimeH=="14") ? " selected=\"selected\" " : " "; ?>
value="14">14</option>
<option <?php echo ($moretimeH=="15") ? " selected=\"selected\" " : " "; ?>
value="15">15</option>
<option <?php echo ($moretimeH=="16") ? " selected=\"selected\" " : " "; ?>
value="16">16</option>
<option <?php echo ($moretimeH=="17") ? " selected=\"selected\" " : " "; ?>
value="17">17</option>
<option <?php echo ($moretimeH=="18") ? " selected=\"selected\" " : " "; ?>
value="18">18</option>
<option <?php echo ($moretimeH=="19") ? " selected=\"selected\" " : " "; ?>
value="19">19</option>
<option <?php echo ($moretimeH=="20") ? " selected=\"selected\" " : " "; ?>
value="20">20</option>
<option <?php echo ($moretimeH=="21") ? " selected=\"selected\" " : " "; ?>
value="21">21</option>
<option <?php echo ($moretimeH=="22") ? " selected=\"selected\" " : " "; ?>
value="22">22</option>
<option <?php echo ($moretimeH=="23") ? " selected=\"selected\" " : " "; ?>
value="23">23</option>
</select> H +
<select style="width:50px;" name="moretimeM" >
<option <?php echo ($moretimeM=="0") ? " selected=\"selected\" " : " "; ?>
value="0">0</option>
<option <?php echo ($moretimeM=="1") ? " selected=\"selected\" " : " "; ?>
value="1">1</option>
<option <?php echo ($moretimeM=="2") ? " selected=\"selected\" " : " "; ?>
value="2">2</option>
<option <?php echo ($moretimeM=="3") ? " selected=\"selected\" " : " "; ?>
value="3">3 </option>
<option <?php echo ($moretimeM=="4") ? " selected=\"selected\" " : " "; ?>
value="4">4</option>
<option <?php echo ($moretimeM=="5") ? " selected=\"selected\" " : " "; ?>
value="5">5</option>
<option <?php echo ($moretimeM=="6") ? " selected=\"selected\" " : " "; ?>
value="6">6</option>
<option <?php echo ($moretimeM=="7") ? " selected=\"selected\" " : " "; ?>
value="7">7</option>
<option <?php echo ($moretimeM=="8") ? " selected=\"selected\" " : " "; ?>
value="8">8</option>
<option <?php echo ($moretimeM=="9") ? " selected=\"selected\" " : " "; ?>
value="9">9</option>
<option <?php echo ($moretimeM=="10") ? " selected=\"selected\" " : " "; ?>
value="10">10</option>
<option <?php echo ($moretimeM=="15") ? " selected=\"selected\" " : " "; ?>
value="15">15</option>
<option <?php echo ($moretimeM=="20") ? " selected=\"selected\" " : " "; ?>
value="20">20</option>
<option <?php echo ($moretimeM=="30") ? " selected=\"selected\" " : " "; ?>
value="30">30</option>
<option <?php echo ($moretimeM=="45") ? " selected=\"selected\" " : " "; ?>
value="45">45</option>
</select> M +
<select style="width:50px;" name="moretimeS" >
<option <?php echo ($moretimeS=="0") ? " selected=\"selected\" " : " "; ?>
value="0">0</option>
<option <?php echo ($moretimeS=="15") ? " selected=\"selected\" " : " "; ?>
value="15">15</option>
<option <?php echo ($moretimeS=="30") ? " selected=\"selected\" " : " "; ?>
value="30">30</option>
<option <?php echo ($moretimeS=="45") ? " selected=\"selected\" " : " "; ?>
value="45">45</option>
</select> S (Valeur par défaut 3 jours.)
<!-------------- FIN ---------------------------------->
<br />
</td>
</tr>
2 réponses
-
Pourrais-tu décrire un peu plus ton problème? Quand tu dis que ça ne marche pas, qu'est-ce qui ne fonctionne pas?
Sinon, le onChange sur un select appelle du code javascript alors tu pourrais faire une partie de ton travail uniquement avec du js.
<select style="width:50px;" name="selJour" id="selJour" onchange="traiterInfo()"> <OPTION VALUE="0">0</OPTION> ... </select>
Et la fonctione javascript:
function traiterInfo() { var valeurJour= parseInt(document.getElementById("selJour").value); var valeurHeure= parseInt(document.getElementById("selHeure").value); var valeurMinute= parseInt(document.getElementById("selMinute").value); var valeurSeconde= parseInt(document.getElementById("selSeconde").value); var input = document.getElementById("reponse"); var info = ""; info = (valeurJour*24*60*60)+(valeurHeure*60*60)+(valeurMinute*60)+valeurSeconde input.value = info; }
Et selon moi, tu devrais vraiment générer tes "select" avec des boucles en php, ce serait beaucoup moins lourd à lire.
Un petit exemple de page html serait:<html> <head> <SCRIPT type="text/javascript"> function initialiserPage() { document.getElementById("reponse").value = "Somme..."; } function traiterInfo() { var valeurJour= parseInt(document.getElementById("selJour").value); var valeurHeure= parseInt(document.getElementById("selHeure").value); var valeurMinute= parseInt(document.getElementById("selMinute").value); var valeurSeconde= parseInt(document.getElementById("selSeconde").value); var input = document.getElementById("reponse"); var info = ""; info = (valeurJour*24*60*60)+(valeurHeure*60*60)+(valeurMinute*60)+valeurSeconde input.value = info; } </SCRIPT> </head> <body onload="initialiserPage()"> Jours: <select style="width:50px;" name="selJour" id="selJour" onchange="traiterInfo()"> <OPTION VALUE="0">0</OPTION> <OPTION VALUE="1">1</OPTION> <OPTION VALUE="2">2</OPTION> <OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> </select> <br /> Heures: <select style="width:50px;" name="selHeure" id="selHeure" onchange="traiterInfo()"> <OPTION VALUE="0">0</OPTION> <OPTION VALUE="1">1</OPTION> <OPTION VALUE="2">2</OPTION> <OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION> <OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> <OPTION VALUE="11">11</OPTION> <OPTION VALUE="12">12</OPTION> <OPTION VALUE="13">13</OPTION> <OPTION VALUE="14">14</OPTION> <OPTION VALUE="15">15</OPTION> <OPTION VALUE="16">16</OPTION> <OPTION VALUE="17">17</OPTION> <OPTION VALUE="18">18</OPTION> <OPTION VALUE="19">19</OPTION> <OPTION VALUE="20">20</OPTION> <OPTION VALUE="21">21</OPTION> <OPTION VALUE="22">22</OPTION> <OPTION VALUE="23">23</OPTION> <OPTION VALUE="24">24</OPTION> </select> <br /> Minutes: <select style="width:50px;" name="selMinute" id="selMinute" onchange="traiterInfo()"> <OPTION VALUE="0">0</OPTION> <OPTION VALUE="1">1</OPTION> <OPTION VALUE="2">2</OPTION> <OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION> <OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> <OPTION VALUE="15">15</OPTION> <OPTION VALUE="20">20</OPTION> <OPTION VALUE="30">30</OPTION> <OPTION VALUE="45">45</OPTION> </select> <br /> Secondes: <select style="width:50px;" name="selSeconde" id="selSeconde" onchange="traiterInfo()"> <OPTION VALUE="0">0</OPTION> <OPTION VALUE="15">15</OPTION> <OPTION VALUE="30">30</OPTION> <OPTION VALUE="45">45</OPTION> </select> <br /> <input type="text" name="reponse" id="reponse" /> </body> </html>
Echo "Lima Mike Alfa"; -
pas mal !!
Mais entre temps j-ai trouvé un truc qui fonctionne, je stocke en seconde dans ma base de donnée :"moretime" => ($_POST['moretimeJ']*24*60*60)+($_POST['moretimeH']*24*60)+($_POST['moretimeM']*60)+$_POST['moretimeS'],
puis pour le calcul inverse,
$jou_restantes = intval(floor(($nouveau_timestamp - $timestamp)/24*60*60)); $heu_restantes = intval(floor((($nouveau_timestamp - $timestamp)-($jou_restantes*24*60*60))/60/60)); $min_restantes = intval(floor((($nouveau_timestamp - $timestamp)-(($jou_restantes*24*60*60)-($heu_restantes*60*60))/60))); $sec_restantes = date("s", $nouveau_timestamp - $timestamp);
voili voila...
un peu galère, mais je suis venu à bout de tt ca avec l'aide d'excel...
des fois, un tableur et rien de mieux pour tester lol...
Merci à toi