Page 1 sur 2

boutons en fonction du nombre de jours

Posté : 04 juil. 2005, 16:23
par Justone
Bonjour,

Je voudrais savoir comment afficher plusieurs boutons en fonction du nombre de jours?
Par ex pour juillet 2005, il faudrait 31boutons numerotés de 1 à 31.

J'arrive a calculer le nombre de jours en fonction du mois et de l'année, alors comment faire pour afficher ensuite 31 boutons?

Posté : 04 juil. 2005, 16:26
par ouckileou
tu fais une boucle (for(), while())

tu utilises un compteur qui démarre à 1 et va jusqu'à 31, et à chaque tour de boucle tu mets dans ton bouton la valeur du compteur

Posté : 04 juil. 2005, 17:02
par guilt92
quoi comme boutons ?

des cases a cocher des boutons radio ou des boutons de validation ?

Posté : 04 juil. 2005, 17:59
par Justone
Alors j'ai fait la boucle. Merci pour l'aide...

Je voudrais savoir comment faire pour que lorsque l'utilisateur clic sur l'un des boutons, une fenetre de dialogue apparaissent.

Et si l'utilisateur repond oui a la question, comment faire faire pour que le bouton soit d'une autre couleur?

Merci

Posté : 04 juil. 2005, 18:37
par ouckileou
ça, ce sont deux question distinctes

et ce serait plus à sa place dans le forum Javascript

regarde ces choses là :

action au clic : inClick

ouvrir une fenêtre : window.open()

changer la couleur de fond : cherche les propriétés d'un champ input

Posté : 05 juil. 2005, 18:00
par Justone
J'aai reussi a faire changer de couleur les boutons lors d'un clic mais j'ai un probleme que je n'arrive pas à résoudre.

Je m'explique :
je fais appel a un champ de ma base de donnée, j'affiche la première valeur de ce champ puis des boutons.
ensuite j'affiche la deuxième valeur de ce champ puis des boutons.
etc...

lorsque je clic sur le bouton 5 de la deuxième valeur de mon champ, c'est le bouton 5 de la première valeur qui change de couleur!!

qqn sait d'ou peut venir l'erreur?

voici mon code :

Code : Tout sélectionner

<script language="javascript"> function conf(id) { var oui = confirm('Ok pour valider cette tache - Cancel pour la dévalider'); if(oui == true) { document.getElementById(id).style.color='#000000'; document.getElementById(id).style.background='#3CB371'; } if(oui == false) { document.getElementById(id).style.color='#000000'; document.getElementById(id).style.background='#FFA07A'; } } </script>
 
mysql_select_db("arnis01");   
$str_requete = "SELECT tache FROM liste WHERE periodicite='Daily'"; 
$o_result = mysql_query($str_requete) or die( 'Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ; 
while ($a_result = mysql_fetch_array($o_result)) { 
echo "<b>".$a_result["tache"]."</b>"; 
for($i = 1; $i <= 12; $i++){ 
echo '<input type="button" style="width:27px; background-color: #FFA07A;" id="mon_id'.$i.'" onclick="conf(\'mon_id'.$i.'\');" value="'.$i.'" />'; 
} 
}  
Merci[/code]

Posté : 05 juil. 2005, 19:13
par ouckileou
regarde les identifiants de tes boutons dans le code source HTML généré, ils doivent être identiques d'une ligne à une autre

c'est pour ça que ta modification est effectuée sur le premier trouvé

Posté : 05 juil. 2005, 19:38
par Justone
J'ai du mal a comprendre ce que tu veux dire!

J'ai qu'une seul ligne pour mes boutons, j'utlise une boucle pour en afficher plusieurs! (voir mon code sur mon message précédent)

Posté : 05 juil. 2005, 21:22
par ouckileou
non, tu as deux boucles

une boucle pour chaque ligne de résultat
et une boucle pour faire 12 boutons à chaque ligne

donc pour chaque ligne de résultat tu as des boutons :
id="mon_id1", id="mon_id2", id="mon_id3", id="mon_id4"...

regarde dans le code source

Posté : 06 juil. 2005, 09:11
par Justone
ok j'suis d'accord avec toi

j'affiche un enregistrement de la base puis 12boutons numérotés de 1 à 12
puis un deuxième enregistrement de la base et 12 boutons de 1 à 12
et ainsi de suite

donc lorsque je clic sur le 5, c'est celui de la premiere ligne qui change de couleur

mais que dois je faire pour corriger cette erreur??

merci...

Posté : 06 juil. 2005, 09:15
par ouckileou
quand tu accèdes à un élément par getElementById(''), il faut que cet id soit unique, sinon forcément ça ne marche pas

donc comme là tu crées les mêmes à chaque ligne, il suffit de différencier chaque ligne...

avec un compteur par exemple, que tu inclus dans l'id, pour avoir quelquechose comme ça :

mon_id_ligne_mois

Posté : 06 juil. 2005, 10:41
par Justone
Merci bcp ouckileou!

Mais la ca fait plus d'une heure que je suis sur le probleme et je n'arrive a rien! La je craque!

J'ai bien compris d'ou venait le probleme, mais peux tu me dire ce que je dois faire dans mon code pour que ca fonctionne stp?

Excuse moi d'insister!

Merci pour ton aide

Posté : 06 juil. 2005, 10:43
par ouckileou
rajoute un deuxième compteur

tu le fais démarrer à 0 et tu l'incrémentes à chaque ligne de résultat (à chaque passage dans le while)

et tu utilises ce compteur pour créer tes identifiants de boutons (en plus de ce que tu utilises déjà, $i de 1 à 12)

tu auras donc des identifiants uniques, puisqu'aucun bouton n'aura le même numéro de ligne ET le même numéro de mois

Posté : 06 juil. 2005, 10:52
par Justone
C'est bon, ca fonctionne bien maintenant!!
Merci encore

J'ai une autre question :
Lorsque je clic sur certains boutons, il changent de couleur mais comment faire pour que ces choix restent enregistrer?

Merci...

Posté : 06 juil. 2005, 10:53
par ouckileou
ça, ça pourrait peut-être faire l'objet d'un autre post

mais enregistrés jusqu'à quand ? pour la visite ? jusqu'à la prochaine ?

il y a plusieurs solutions