IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] probleme de recuperation de données


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut [Dates] probleme de recuperation de données
    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
    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" />&nbsp;
        <input type="submit" value="Supprimer" class="stl_button" name="action" />
      </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    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
     
    <?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;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ?>
    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
    <?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!!!

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Tu mets jamais à jour $mess_in et les autres variables (à part $message) dans ton foreach en rouge c'est normal ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/03/2012, 13h53
  2. Probleme de recuperation de données
    Par lilli1407 dans le forum Struts 1
    Réponses: 7
    Dernier message: 26/09/2006, 16h52
  3. Probleme de recuperation de données javascript --> formulaire --> php
    Par kowabunga dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 27/07/2006, 09h18
  4. [Tableaux] probleme de recuperation de données
    Par nebil dans le forum Langage
    Réponses: 18
    Dernier message: 07/07/2006, 16h27
  5. [Tableaux] Probleme de recuperation de données
    Par BernardT dans le forum Langage
    Réponses: 14
    Dernier message: 14/11/2005, 22h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo