Bonjour
Voila j'ai fait un petite messageire auquel j 'ajouter la fonction ecrire à vos choix. C'est à dire que la personne selectionne un ou plusieurs messages en cochant une case et lui attribut un message unique qu'elle ecrira.
Lorsque je clique sur ecrire à vos choix et que je verifie ce qui est passé par le bien d'echo. J'ai un problème que je n'arrive pas à resoudre.
En effet, si j 'ai cochez 3 messages, j'ai bien trois messages qui s'affiche, mais c'est 3 fois le même avec le message pour les trois. Idem pour deux et plus.
Ma question est que je n'arrive pas à faire passer correctement les messages cochez. Et que pour n message cochez j'ai n fois le dernier message .
pouvez me dire ce qu'il cloche dans ma fonction ecrire_select.php ci-dessous ?
messagerie.php
function.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 <?php session_start(); $num_sess=$_SESSION['ident']; mysql_connect("localhost","root",""); mysql_select_db("ibe"); $sql_a = "SELECT num_message,n_receveur,n_envoyeur,libele,lu FROM fr_messagerie_particulier WHERE n_receveur =".$num_sess; $af_a = mysql_query($sql_a); $message=array(); $i=0; while($res_a=mysql_fetch_object($af_a)){ $message[$i][0]=$res_a->num_message; $message[$i][1]=$res_a->libele; $message[$i][2]=$res_a->lu; $message[$i][3]= $res_a->n_envoyeur; $i++; } $_SESSION['messages']=$message; require('function_message.php'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Compte</title> <script language="JavaScript"> function heuredate(){ aujourd = new Date; jour = aujourd.getDate(); mois = aujourd.getMonth()+1; annee = aujourd.getFullYear(); heure = aujourd.getHours(); min = aujourd.getMinutes(); sec = aujourd.getSeconds(); sec0 = ""; min0 = ""; heure0 = ""; mois0 = ""; jour0 = ""; annee0 = ""; if (sec < 10){sec0 = "0";} if (min < 10){min0 = "0";} if (heure < 10){heure0 = "0";} if (mois < 10){mois0 = "0";} if (jour < 10){jour0 = "0";} if (annee < 10){annee0 = "0";} concatDate = "" + jour0 + jour + "-" + mois0 + mois + "-" + annee0 + annee; concatHeure = heure0 + heure + ":" + min0 + min + ":" + sec0 + sec; ensemble = concatDate + " - " + concatHeure; document.formtemps.zone.value = ensemble; pas = setTimeout("heuredate()", 1000); } </script> </head> <body onLoad="heuredate()" onUnload="clearTimeout(pas)"> <table border="1" align="center"> <tr> <form action="acceuil.php"> <td><input type="submit" value="Accueil Compte"/></td> </form> <form name="formtemps"><td><input type="text" name="zone" size=20></td></form> <form method="post" action="../../m_root_ibe/f_root.php"> <td><select name="root_admin"><option>Sélectionner</option><?php $res= mysql_query("SELECT num_menu,nom,categorie FROM fr_cat_root WHERE num_cat=2 AND categorie LIKE 'Particulier'");if ($res){while ($resultat=mysql_fetch_object($res)){echo "<option value=$resultat->num_menu>$resultat->nom";}} ?></option></select></td></tr> <tr><td colspan="3" align="center"><input type="submit" value="Afficher" /></td></tr> </tr> </form> </table> <br /> <form method="post" action="ecrire_select.php"> <table align="center" border="1"> <tr> <td colspan="4" align="center"><b>Messagerie</b></td> </tr> <tr> <td align="center"><b>Ecrire</b></td> <td align="center"><b>Libélé</b></td> <td align="center"><b>Lu</b></td> <td align="center"><b>Supprimer</b></td> </tr> <?php afficher_message($message); ?> <tr> <td colspan="4" align="center"><textarea name="ecrire_all" cols="50" rows="10%"></textarea></td> </tr> <tr> <td align="center" colspan="4" class="button"> <input type="submit" value="ecrire_a_vos_choix" class="stl_button" name="action" /> <input type="submit" value="Supprimer" class="stl_button" name="action" /> </td> </tr> </table> </form> </body> </html>
ecrire_select.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 <?php //*****************************************Suppression***************************************************************************** $message =$_SESSION["messages"]; // ici passe le numero du message function supprimer_message($index,$message){ //---> suppression des messages $taille =sizeof($message); for ($i=0;$i<=$taille-1;$i++){ if ($index==$message[$i][0]){ $message[$i][0]=0;} } //-------*reload messagerie*----------------// $message_new = array(); for ($i = 0; $i <= $taille-1; $i++){ if ($message[$i][0] != 0){ array_push($message_new,array($message[$i][0],$message[$i][1],$message[$i][2],$message[$i][3])); } } return($message_new); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //****************************************Ecrire message en fonction du nombre de case cochez************************************** function ecrire_select($index,$message){ //---> ecrire à les messages dont la case est cochez $taille =sizeof($message); for ($i=0;$i<=$taille-1;$i++){ if ($index==$message[$i][0]){ $message[$i][0]=0;} } //-------*reload messagerie*----------------// $message_new = array(); for ($i = 0; $i <= $taille-1; $i++){ if ($message[$i][0] != 0){ array_push($message_new,array($message[$i][0],$message[$i][1],$message[$i][2],$message[$i][3])); } } return($message_new); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //*************************************Afficher message dans messagerie*********************************************************** function afficher_message($message){ $taille=sizeof($message); for ($i = 0; $i <= $taille-1; $i++) { if($message[$i][1] != "") { echo "<tr class='numero'><td align='center'>"; echo "<input type='checkbox' name='ecrire[]' value=".$message[$i][0]." >"; echo $message[$i][0]; echo "</td><td align='left'>"; ?> <input type="hidden" name="titre" value="<?php insertion_libele($message[$i][0]) ?>" /> <a href="message.php?ref=<?php echo $message[$i][0];?>"><?php insertion_libele($message[$i][0]) ?></a> <?php echo"</td><td align='center'>"; $a = $message[$i][2]; echo "$a"; echo "</td><td align='center'>"; echo "<input type='checkbox' name='supprimer[]' value=".$message[$i][0]." >"; echo "<input type='text' name='revendeur' value=".$message[$i][3].">"; echo "</td></tr>"; } } } function insertion_libele($index) {$sql = "SELECT libele FROM fr_messagerie_particulier WHERE num_message =".$index; $af = mysql_query($sql); $res = mysql_fetch_object($af); echo $res->libele; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php session_start(); mysql_connect("localhost","root",""); mysql_select_db("ibe"); include("function_message.php"); $action = $_POST["action"]; $num_sess = $_SESSION['ident']; // num_session de l'utilisateur $num_message = $_POST['ecrire']; // numero de chaque message $a=$_POST['titre']; // le libele de chaque message $revendeur = $_POST['revendeur']; $mess_in = $_POST['ecrire_all']; $lu = "Non"; if ($action == "ecrire_a_vos_choix") { foreach($num_message as $k) {$message = ecrire_select($k,$message); echo "$num_sess : est le num_session du gars qui sera l'envoyeur<br>"; echo "$revendeur : est le num_session du revendeur qui sera le receveur<br>"; echo "$a<br>"; echo "$mess_in : est le message qui sera transmit<br>"; echo "$lu<br>"; //$sql="INSERT INTO fr_messagerie_revendeur(n_receveur,n_envoyeur,libele,message,lu) VALUES('".$revendeur."','".$num_sess."','".$libele."','".$mess_in."','".$lu."')"; //$af=mysql_query($sql); //$res=mysql_fetch_object($af) } } elseif ($action == "Supprimer"){echo "fonction supprimer message";}// supprimmer message choisi else {header("location:messagerie.php");} // $sql="INSERT INTO fr_messagerie_revendeur(n_receveur,n_envoyeur,libele,message,lu) VALUES('".$revendeur."','".$num_sess."','".$libele."','".$message."')"; // $af=mysql_query($sql); // $res=mysql_fetch_object($af) ?>
Merci!!!
Partager