Vous n'êtes pas identifié(e).
Pages : 1
Merci,
Mon problème est résolu
Merci xTG;
J'ai repris le code <input type="checkbox" .... > et la function et maintenant tout est ok
Merci ça marche
L'autre problème de mon code est que les cases ne sont pas cochées après la validation du formulaire
Merci pour la réponse.
Exacte, je commence à la semaine 1.
J'avance, je récupère bien les valeurs.
Mais quand j'arrive sur ma page j'ai le message suivant
Je ne vois pas pourquoi vu que je n'ai pas de message pour la ligne 66 qui est la même et que j'ai fait un copier/coller pour être sûr.
Bonjour et merci
Une table semaines1 contient : Annee, Num (de semaine), une date de début de semaine (Debut) et de fin (Fin). La table contient les semaines des 20 prochaines années.
Ma requete sélectionne toutes les semaines de l'année 2011.
A l'aide d'une boucle, je construis des input de type text et des checkbox. 1 input text et 1 checkbox par semaine.
Mon problème est le suivant :
Je n'arrive pas à récupérer les valeurs saisies dans les input text ni à conserver les cases cochées quand je valide le formulaire.
voici ma page en question
if (isset($_POST['prix_semaine'])){
foreach($_POST['prix_semaine'] as $index=>$valeur){
$semaine=$valeur;
// echo '<br />'.$index.' : '.$valeur.'<br />';
var_dump($_POST['prix_semaine']);
}
}
if (isset($_POST['Disponibilite'])) $Disponibilite=$_POST['Disponibilite'];
else $Disponibilite = "";
if (isset($_POST['Disponibilite'])) {
for ($i = 0, $c = count($_POST['Disponibilite']); $i < $c; $i++) {
$Disponibilite ="" . $_POST['Disponibilite'][$i] . "</b>";
}
}
function est_selectionne($option) {
if (!isset($_POST['Disponibilite'])) {
return FALSE;
}
for ($i = 0, $c = count($_POST['Disponibilite']); $i < $c; $i++) {
if ($_POST['Disponibilite'][$i] == $option) {
return TRUE;
}
}
return FALSE;
}
$year = date('Y');
$i = 0;
$sql = mysql_query("SELECT * FROM semaines1 WHERE Annee = $year LIMIT 0, 2");
$nb_lignes = mysql_num_rows($sql);
while ($i < $nb_lignes){
$id_semaine = mysql_result($sql,$i,"Num");
//traitement de la date de début
$debut = mysql_result($sql,$i,"Debut");
list($anneeD, $moisD, $jourD) = explode('-', $debut);
if ($jourD < 10) $jourD=substr($jourD,1, 1);
$DateDebut = $jourD.'/'.$moisD;
//traitement de la date de fin
$fin = mysql_result($sql,$i,"Fin");
list($anneeF, $moisF, $jourF) = explode('-', $fin);
if ($jourF < 10) $jourF=substr($jourF,1, 1);
$DateFin = $jourF.'/'.$moisF;
if ($moisD == $moisF) $DateDebut = $jourD;
if ($i != 0 && $i % 4 == 0){
echo '</tr><tr height="50px">';
echo "<td align='center' class='interieur'> du $DateDebut au $DateFin <br />
<input type='text' name='prix_semaine[]' value='$semaine' style='width:70px' class='input'>
<input type='checkbox' name='Disponibilte[]' value='$id_semaine' if(est_selectionne('$id_semaine')) { echo 'checked'; } /></td>";
}
else {
echo "<td align='center' class='interieur'> du $DateDebut au $DateFin <br />
<input type='text' name='prix_semaine[]' value='$semaine' style='width:70px' class='input'>
<input type='checkbox' name='Disponibilte[]' value='$id_semaine' if(est_selectionne('$id_semaine')) { echo 'checked'; } /></td>";
}
$i++;
}
?>
</tr></table>
<input type="submit" name="semestre1" value="Valider">
</form>
</div>
</div>
Avec ce code si je saisie 300 dans le 1er input text et 15 dans le 2è et que je coche une case, les 2 input text me renvoient 15 et la case n'est pas cochée.
Je cherche depuis plusieurs sans résultat.
Merci d'avance
Vraiment personne pour m'aider
J'utilise $_POST pour tous mes formulaires
haaaaaaaaaaaaaa XTg, sort de ce corps :D
a++
Cela ne m'aide pas beaucoup
Bonjour,
Une requete me renvoie : Annee, Num (n° de semaine), Debut (de semaine qui est un samedi) et Fin (de semaine qui est un samedi).
Avec l'aide d'xTG, j'ai pu résoudre le problème de présentation.
Maintenant j'essaie de récupérer les valeurs saisies dans les input text et les cases cochées.
J'ai cherché un peu partout la solution mais ... pas trouvé.
Mon code :
if (isset($_POST['Disponibilite'])) $Disponibilite=$_POST['Disponibilite'];
else $Disponibilite = "";
if (isset($_POST['Disponibilite'])) {
for ($i = 0, $c = count($_POST['Disponibilite']); $i < $c; $i++) {
$Disponibilite ="" . $_POST['Disponibilite'][$i] . "</b>";
}
}
function est_selectionne($option) {
if (!isset($_POST['Disponibilite'])) {
return FALSE;
}
for ($i = 0, $c = count($_POST['Disponibilite']); $i < $c; $i++) {
if ($_POST['Disponibilite'][$i] == $option) {
return TRUE;
}
}
return FALSE;
}
$year = date('Y');
$i = 0;
$sql = mysql_query("SELECT * FROM semaines1 WHERE Annee = $year LIMIT 0, 26");
$nb_lignes = mysql_num_rows($sql);
while ($i < $nb_lignes){
$id_semaine = mysql_result($sql,$i,"Num");
//traitement de la date de début
$debut = mysql_result($sql,$i,"Debut");
list($anneeD, $moisD, $jourD) = explode('-', $debut);
if ($jourD < 10) $jourD=substr($jourD,1, 1);
$DateDebut = $jourD.'/'.$moisD;
//traitement de la date de fin
$fin = mysql_result($sql,$i,"Fin");
list($anneeF, $moisF, $jourF) = explode('-', $fin);
if ($jourF < 10) $jourF=substr($jourF,1, 1);
$DateFin = $jourF.'/'.$moisF;
if ($moisD == $moisF) $DateDebut = $jourD;
if ($i != 0 && $i % 4 == 0){
echo '</tr><tr height="50px">';
echo "<td align='center' class='interieur'> du $DateDebut au $DateFin <br />
<input type='text' name='prix_semaine[$id_semaine]' value='$semaine' style='width:70px' class='input'>
<input type='checkbox' name='Disponibilte[]' value='$id_semaine' if(est_selectionne('$id_semaine')) { echo 'checked'; } /></td>";
}
else {
echo "<td align='center' class='interieur'> du $DateDebut au $DateFin <br />
<input type='text' name='prix_semaine[$id_semaine]' value='$semaine' style='width:70px' class='input'>
<input type='checkbox' name='Disponibilte[]' value='$id_semaine' if(est_selectionne('$id_semaine')) { echo 'checked'; } /></td>";
}
$i++;
}
?>
</tr></table>
<input type="submit" name="sem1" value="Valider1">
J'arrive à traiter quand il s'agit d'une série d'input text ou checkbox simples mais là je bloque.
Merci d'avance
Merci, ça marche comme je voulais
Je ne sais pas si on peut et comment mettre un "Résolu" !!
Je crois que je ne me suis pas bien fait comprendre.
Il me faut une boucle qui me donnerait quelque chose du genre :
<tr>
<td>$datedebut $datefin</td> <td>$datedebut $datefin</td><td>$datedebut $datefin</td><td>$datedebut $datefin</td><td>$datedebut $datefin</td>
</tr>
<tr>
<td>$datedebut $datefin</td> <td>$datedebut $datefin</td><td>$datedebut $datefin</td><td>$datedebut $datefin</td><td>$datedebut $datefin</td>
</tr>
etc...
Autrement dit tous les 5 enregistrements je crée une nouvelle ligne
Bonjour,
Une requete me renvoie X lignes composées de DateDebut et DateFin.
Je voudrai construire un tableau avec 5 colonnes dont chaque cellule de chaque colonne contiendrait "$DateDebut $DateFin"
Voilà ma boucle pour le moment
Je ne vois comment modier ma boucle pour avoir les 5 colonnes.
Merci d'avance
Pages : 1