boutons changent de couleur au clic

boutons changent de couleur au clic - PHP - Programmation

Marsh Posté le 06-07-2005 à 10:22:33    

Bonjour
 
J'ai reussi a faire changer de couleur des 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 12 boutons.  
ensuite j'affiche la deuxième valeur de ce champ puis 12 boutons.  
etc...  
 
voici mon code :  

Code :
  1. <script language="javascript">
  2. function conf(id)
  3. {
  4.    var oui = confirm('Ok pour valider cette tache - Cancel pour la dévalider');
  5.    
  6.    if(oui == true)
  7.    {
  8.       document.getElementById(id).style.color='#000000';
  9.       document.getElementById(id).style.background='#3CB371';
  10.    }
  11.    if(oui == false)
  12.    {
  13.       document.getElementById(id).style.color='#000000';
  14.       document.getElementById(id).style.background='#FFA07A';
  15.    }
  16. }
  17. </script>


 

Code :
  1. mysql_select_db("arnis01" );   
  2. $str_requete = "SELECT tache FROM liste WHERE periodicite='Daily'";
  3. $o_result = mysql_query($str_requete) or die( 'Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ;
  4. while ($a_result = mysql_fetch_array($o_result)) {
  5. echo "<b>".$a_result["tache"]."</b>";
  6. for($i = 1; $i <= 12; $i++){
  7. echo '<input type="button" style="width:27px; background-color: #FFA07A;" id="mon_id'.$i.'" onclick="conf(\'mon_id'.$i.'\');" value="'.$i.'" />';
  8. }
  9. }


 
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!!  
 
avec getElementById(''), il faut que l'id soit unique, sinon forcément ça ne marche pas  
 
donc comme je créé les mêmes id (mon_id1, mon_id2,...,mon_id12) à chaque ligne, je pense qu'il faudrait différencier chaque ligne...  
 
comment faire?  
 
Merci

Reply

Marsh Posté le 06-07-2005 à 10:22:33   

Reply

Marsh Posté le 06-07-2005 à 10:38:33    

tu crée une 2ème valeur pour tes ID, dans ton while (là il n'y a que $i dans le for
 
par exemple
$j=0 avant le while, et $j++ avant la fermeture du while
 
et ton id s'appelera "mon_id$j$i"

Reply

Marsh Posté le 06-07-2005 à 10:51:39    

Merci bcp! Ca fonctionne bien maintenant.
 
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...

Reply

Marsh Posté le 06-07-2005 à 10:52:15    

avec des cookies


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-07-2005 à 11:08:14    

merci mais je ne veux pas utiliser de cookie!
 
personne n'a d'autre idées?

Reply

Marsh Posté le 06-07-2005 à 11:11:09    

Et pourquoi ne pas utiliser les cookies? Je vois pas ou est le problemes pour ce genre d'infos à stocker. Mais sinon c'est utilisateur enregistré et sauvegarde de ses préférence dans un bdd.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-07-2005 à 11:13:50    

parce que les cookies sont supprimés régulierement

Reply

Marsh Posté le 06-07-2005 à 11:18:22    

Bah tu leur donne une longue durée de validité c'est tout, bon aprés si l'utilisateur supprime régulièrement ses cookies c'est une autre histoire mais sincérement je ne vois pas vraiment d'autre solution.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-07-2005 à 11:19:33    

ouais je pense que je vais utiliser ca!
 
par contre je ne connais rien sur les cookies!
 
ou puis je trouver mon bonheur??


Message édité par JustOne72 le 06-07-2005 à 11:19:47
Reply

Marsh Posté le 06-07-2005 à 11:24:40    

http://fr2.php.net/manual/fr/function.setcookie.php
 
http://www.php.net/manual/fr/reser [...] es.cookies


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-07-2005 à 11:24:40   

Reply

Marsh Posté le 06-07-2005 à 11:37:15    

comment faire pour enregistrer un bouton dans un cookie??

Reply

Marsh Posté le 06-07-2005 à 11:52:03    

Peut-etre en mettant le bouton dans la pate qui servira pour faire le cookie.
 
Bon un bouton dans un cookie, t'as de droles de gouts culinaires mais bon, tu fais ce que tu veux :D
 
Sérieusement, qu'entends tu par "mettre un bouton dans un cookie" ?


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 06-07-2005 à 11:56:19    

J'affiche un ligne de texte puis 12 boutons
Puis une autre ligne de texte et 12 boutons
etc...
 
Mes boutons sont rouges et lorsqu'on clique dessus ils deviennent vert
 
Une fois que l'utilisateur a fini de mettre les boutons qu'il souhaitaient en vert, il faudrait que ces choix restent enregistrés
Ainsi a sa prochaine visite, il n'aura pas besoin de recommencer
 
Comment faire cela???

Reply

Marsh Posté le 06-07-2005 à 12:01:10    

tu mets les valeurs des 12 champs dans un tableau, que tu mets dans un cookie avec les fonction php adéquate (cherches sur php.net les fonctions pour les cookies)


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 06-07-2005 à 12:02:30    

Ces fonctions là :
 


 


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-07-2005 à 14:02:10    

Mes 12 valeurs sont des boutons
 
Comment faire pour mettre mes 12 boutons dans un tableau?

Reply

Marsh Posté le 06-07-2005 à 14:03:42    

donne nous la source en version courte stp
 
Edit:
Pardon j'avais oubliè que la source était en haut...
Quel boulet...


Message édité par dwogsi le 06-07-2005 à 14:31:18

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 06-07-2005 à 14:04:09    

array() :o


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 06-07-2005 à 14:07:51    

je sais qu'il faut que j'tulise array()
 
maisla question que je me pose est : que dois je mettre dans les parantheses??

Reply

Marsh Posté le 06-07-2005 à 14:24:50    

array ( 0 => 'vert';
   1 => 'rouge';
  2 => 'rouge'
  3 => 'vert'
 etc....
           )


Message édité par remizz le 06-07-2005 à 14:25:55
Reply

Marsh Posté le 06-07-2005 à 14:30:00    

Code :
  1. mysql_select_db("arnis01" );   
  2. $str_requete = "SELECT tache FROM liste WHERE periodicite='Daily'"; 
  3. $o_result = mysql_query($str_requete) or die( 'Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ; 
  4. while ($a_result = mysql_fetch_array($o_result)) { 
  5.   echo "<b>".$a_result["tache"]."</b>"; 
  6.   for($i = 1; $i <= 12; $i++){ 
  7.     echo '<input type="button" style="width:27px; background-color: #FFA07A;" id="mon_id'.$i.'" onclick="conf(\'mon_id'.$i.'\');" value="'.$i.'" />'; 
  8.   } 
  9. }

Reply

Marsh Posté le 06-07-2005 à 14:51:27    

Qqn peut il me dire comment je dois faire mon tableau?
 
La je galere vraiment...
 
Merci bcp

Reply

Marsh Posté le 06-07-2005 à 16:14:47    

Comment faire pour que lorsque l'utilisateur clique sur un bouton, la valeur de mon tableau change?
 
Merci

Reply

Marsh Posté le 06-07-2005 à 16:31:06    

en php tu ne pourras pas, il faudra obligatoirement faire passer tes variables au serveur via POST ou GET.
 
j'essaie de réfléchir à une solution parce que là je vois pas.

Reply

Marsh Posté le 06-07-2005 à 17:14:46    

Merci de ton aide
 
Tiens moi au courant si tu trouves qqch...

Reply

Marsh Posté le 06-07-2005 à 17:18:11    

dwogsi a écrit :

Ces fonctions là :


 
tu fais comment si les cookies sont désactivés ?

Reply

Marsh Posté le 06-07-2005 à 17:23:50    

comme le sous-entend snarky, la solution de la base de donnée me parait plus appropriée.
 
Après, il faudrait permettre de passer les valeurs des boutons(vert ou rouge), suivant les modifs faites par l'utilisateur.
 
edit : j'y pense, le mieux serait de faire le contraire : virer javascript et compagnie, mais lorsque l'utilisateur clique sur un bouton, il execute un script php qui définit ce bouton comme 'rouge' ou 'vert'.
 
du côté de l'affichage de la page, la couleur des boutons est donc définie selon la valeur contenue dans un champ nommé 'couleur' par exemple.


Message édité par remizz le 06-07-2005 à 18:01:44
Reply

Marsh Posté le 06-07-2005 à 17:25:47    

sinon les sessions ?

Reply

Marsh Posté le 06-07-2005 à 17:29:05    

il y a le probleme de passer les valeurs rouge ou vert
mais il y a aussi un problème avec une base de donnée
- j'ai une tache pour 12boutons
- pour pouvoir passer les taches a valider il faudrait que j'ai 12 fois la meme tache dans ma base de donnée!!

Reply

Marsh Posté le 06-07-2005 à 18:02:54    

en fait on pourrait savoir en gros le fonctionnement de ton système (à quoi servent les boutons) ?

Reply

Marsh Posté le 07-07-2005 à 09:13:19    

Alors dans ma base de donnée j'ai enregistré 40 taches
Ensuite j'affiche la 1ere tache et les boutons, puis la 2eme tache et les boutons, ...
Chaque boutons correspond a un mois.
Pour dire que la tache a été effectué au mois de juillet par ex, l'utilisateur clic sur mois7 et le bouton passe en vert.
Et je voudrais que les choix de l'utilisateur restent enregistrés.

Reply

Marsh Posté le 07-07-2005 à 09:15:00    

Snarky, le js c'ets du confort, et que les lignes sélectionnées soit colorées différamment ou pas , c'est pas très grave :)


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 07-07-2005 à 10:02:13    

J'ai l'impression que ce que je veux faire n'est pas possible!!
 
Qqn a t il une solution faisable autre que des boutons qui changent de couleur?
 
Merci

Reply

Marsh Posté le 07-07-2005 à 13:39:36    

plainsofpain a écrit :

Snarky, le js c'ets du confort, et que les lignes sélectionnées soit colorées différamment ou pas , c'est pas très grave :)


 
pourquoi tu me parles de js :|
moi j'ai proposer les sessions.

Reply

Marsh Posté le 07-07-2005 à 13:40:22    

JustOne72 a écrit :

J'ai l'impression que ce que je veux faire n'est pas possible!!
 
Qqn a t il une solution faisable autre que des boutons qui changent de couleur?
 
Merci


 
tjr pas trop saisi ce que tu voulais faire :S

Reply

Marsh Posté le 07-07-2005 à 14:47:34    

je voulais dire cookies pardon. Ce qu'il veut faire avec cookies, on peut visiter le site meme si on accepte pas les cookies, c'est le plus important ...


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed