boutons en fonction du nombre de jours

Eléphant du PHP | 335 Messages

04 juil. 2005, 16:23

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?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 juil. 2005, 16:26

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

Mammouth du PHP | 1353 Messages

04 juil. 2005, 17:02

quoi comme boutons ?

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

Eléphant du PHP | 335 Messages

04 juil. 2005, 17:59

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 juil. 2005, 18:37

ç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

Eléphant du PHP | 335 Messages

05 juil. 2005, 18:00

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]

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

05 juil. 2005, 19:13

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é

Eléphant du PHP | 335 Messages

05 juil. 2005, 19:38

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)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

05 juil. 2005, 21:22

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

Eléphant du PHP | 335 Messages

06 juil. 2005, 09:11

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 juil. 2005, 09:15

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

Eléphant du PHP | 335 Messages

06 juil. 2005, 10:41

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 juil. 2005, 10:43

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

Eléphant du PHP | 335 Messages

06 juil. 2005, 10:52

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 juil. 2005, 10:53

ç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