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 :

Réduire un code php à répétition


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut Réduire un code php à répétition
    Bonjour,

    J'ai un bout de code, ou plutôt un pavé lol, et je suis certain qu'il y a moyen de réduire ce code en quelques lignes tant il y a de répétitions. ^^

    Donc question: Comment réduire le code suivant pour chaque cas svp?
    NB: le code est coupé, il n'y a pas 10fois mais 20 fois la même chose à chaque fois.

    cas 1
    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
    /////////////////////////////////////////////////// 0
    if(isset($_POST['heure0']))
    $my_strh0=$_POST['heure0'];
    else
    $_POST['heure0'] = "00-00-00";
    /////////////////////////////////////////////////// 1
    if(isset($_POST['heure1']))
    $my_strh1=$_POST['heure1'];
    else
    $_POST['heure1'] = "00-00-00";
     
    if(!isset($a1))
    $a1 = 0;
    /////////////////////////////////////////////////// 2
    if(isset($_POST['heure2']))
    $my_strh2=$_POST['heure2'];
    else
    $_POST['heure2'] = "00-00-00";
     
    if(!isset($a2))
    $a2 = 0;
    /////////////////////////////////////////////////// 3
    if(isset($_POST['heure3']))
    $my_strh3=$_POST['heure3'];
    else
    $_POST['heure3'] = "00-00-00";
     
    if(!isset($a3))
    $a3 = 0;
    /////////////////////////////////////////////////// 4
    if(isset($_POST['heure4']))
    $my_strh4=$_POST['heure4'];
    else
    $_POST['heure4'] = "00-00-00";
     
    if(!isset($a4))
    $a4 = 0;
    /////////////////////////////////////////////////// 5
    if(isset($_POST['heure5']))
    $my_strh5=$_POST['heure5'];
    else
    $_POST['heure5'] = "00-00-00";
     
    if(!isset($a5))
    $a5 = 0;
    /////////////////////////////////////////////////// 6
    if(isset($_POST['heure6']))
    $my_strh6=$_POST['heure6'];
    else
    $_POST['heure6'] = "00-00-00";
     
    if(!isset($a6))
    $a6 = 0;
    /////////////////////////////////////////////////// 7
    if(isset($_POST['heure7']))
    $my_strh7=$_POST['heure7'];
    else
    $_POST['heure7'] = "00-00-00";
     
    if(!isset($a7))
    $a7 = 0;
    /////////////////////////////////////////////////// 8
    if(isset($_POST['heure8']))
    $my_strh8=$_POST['heure8'];
    else
    $_POST['heure8'] = "00-00-00";
     
    if(!isset($a8))
    $a8 = 0;
    /////////////////////////////////////////////////// 9
    if(isset($_POST['heure9']))
    $my_strh9=$_POST['heure9'];
    else
    $_POST['heure9'] = "00-00-00";
     
    if(!isset($a9))
    $a9 = 0;
    /////////////////////////////////////////////////// 10
    if(isset($_POST['heure10']))
    $my_strh10=$_POST['heure10'];
    else
    $_POST['heure10'] = "00-00-00";
     
    if(!isset($a10))
    $a10 = 0;
     ////////////////////////////////////////////////////
    cas 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /* VARIABLES */
    $my_strh0=$_POST['heure0'];
    $my_strh1=$_POST['heure1'];
    $my_strh2=$_POST['heure2'];
    $my_strh3=$_POST['heure3'];
    $my_strh4=$_POST['heure4'];
    $my_strh5=$_POST['heure5'];
    $my_strh6=$_POST['heure6'];
    $my_strh7=$_POST['heure7'];
    $my_strh8=$_POST['heure8'];
    $my_strh9=$_POST['heure9'];
    $my_strh10=$_POST['heure10'];
    cas 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $h0=strtotime($my_strh0);
    $h1=strtotime($my_strh1);
    $h2=strtotime($my_strh2);
    $h3=strtotime($my_strh3);
    $h4=strtotime($my_strh4);
    $h5=strtotime($my_strh5);
    $h6=strtotime($my_strh6);
    $h7=strtotime($my_strh7);
    $h8=strtotime($my_strh8);
    $h9=strtotime($my_strh9);
    $h10=strtotime($my_strh10);
    cas 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if($h0 > $h1) {$a1=($h0-$h1);	}
    if($h0 > $h2) {$a2=($h0-$h2); 	}
    if($h0 > $h3) {$a3=($h0-$h3); 	}
    if($h0 > $h4) {$a4=($h0-$h4); 	}
    if($h0 > $h5) {$a5=($h0-$h5); 	}
    if($h0 > $h6) {$a6=($h0-$h6); 	}
    if($h0 > $h7) {$a7=($h0-$h7); 	}
    if($h0 > $h8) {$a8=($h0-$h8); 	}
    if($h0 > $h9) {$a9=($h0-$h9); 	}
    if($h0 > $h10) {$a10=($h0-$h10);}
    cas 5
    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
    if($h1 > $h0) {$a1=86400-($h1-$h0);  }
    echo "Trajet".$my_strh1.""; 
    @$date1 = getdate($h1);
     
    if($h2 > $h0) {$a2=86400-($h2-$h0);  }
    echo "Trajet".$my_strh2.""; 
    @$date2 = getdate($h2);                
     
    if($h3 > $h0) {$a3=86400-($h3-$h0);  }
    echo "Trajet".$my_strh3.""; 
    @$date3 = getdate($h3);
     
    if($h4 > $h0) {$a4=86400-($h4-$h0);  }
    echo "Trajet".$my_strh4.""; 
    @$date4 = getdate($h4);
     
    if($h5 > $h0) {$a5=86400-($h5-$h0);  }
    echo "Trajet".$my_strh5.""; 
    @$date5 = getdate($h5);
     
    if($h6 > $h0) {$a6=86400-($h6-$h0);  }
    echo "Trajet".$my_strh6.""; 
    @$date6 = getdate($h6);
     
    if($h7 > $h0) {$a7=86400-($h7-$h0);  }
    echo "Trajet".$my_strh7.""; 
    @$date7 = getdate($h7);
     
    if($h8 > $h0) {$a8=86400-($h8-$h0);  }
    echo "Trajet".$my_strh8.""; 
    @$date8 = getdate($h8);
     
    if($h9 > $h0) {$a9=86400-($h9-$h0);  }
    echo "Trajet".$my_strh9.""; 
    @$date9 = getdate($h9);
     
    if($h10 > $h0) {$a10=86400-($h10-$h0);  }
    echo "Trajet".$my_strh10.""; 
    @$date10 = getdate($h10);
    cas 6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $a1=$a1-3600;
    $a2=$a2-3600;
    $a3=$a3-3600;
    $a4=$a4-3600;
    $a5=$a5-3600;
    $a6=$a6-3600;
    $a7=$a7-3600;
    $a8=$a8-3600;
    $a9=$a9-3600;
    $a10=$a10-3600;
    cas 7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    echo "Depart:";
    //reconversion du timestamp en heure pr?format?e (ici H M)
    echo strftime("%H:%M:%S",$a1);
    echo strftime("%H:%M:%S",$a2);
    echo strftime("%H:%M:%S",$a3);
    echo strftime("%H:%M:%S",$a4);
    echo strftime("%H:%M:%S",$a5);
    echo strftime("%H:%M:%S",$a6);
    echo strftime("%H:%M:%S",$a7);
    echo strftime("%H:%M:%S",$a8);
    echo strftime("%H:%M:%S",$a9);
    echo strftime("%H:%M:%S",$a10);
    D'avance merci.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Au lieu d'appeler tes champs name="heure0" , utilise un tableau : name="heure[]"Et du coup tu peux tout traiter dans une boucle. Dans le premie cas ça donnerais quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $total = count($_POST['heure']);
    for($i = 0; $i < $total; $i++)
    	$_POST['heure'][$i] = (!empty($_POST['heure'][$i])) ? $_POST['heure'][$i] : "00-00-00";

  3. #3
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Oui, la solutuion de grunk est bonne.

    Sinon pourquoi reparcourir a chaque fois tes éléments ? Tu ne peux pas mettre tout dans une boucle for, et gérer avec des variables dynamiques ?
    (CF : http://www.php.net/manual/fr/languag...s.variable.php)

    PS : Fait gaffe à la lisibilité de tes noms de variables

  4. #4
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    ou tu peux utiliser le $$
    ca donnerait quelque chose comme ça :

    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
     
    $i = 0;
     
    if(isset($_POST['heure' . $i]))
     
    $variable = 'my_strh' . $i;
     
    $$variable = $_POST['heure' . $i];
    else
    $_POST['heure' . $i] = "00-00-00";
     
    ------
    $varh = 'h' . $i;
    $variable = 'my_strh' . $i ;
     
    $$varh = strtotime($$variable);
    et ainsi de suite.

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Tout d'abord merci beaucoup pour vos réponses qui, en tant que débutant, m'ont permises d'apprendre encore quelques petites choses intéressantes dont les "variables des variables $$" qui sont très pratiques.

    J'ai donc utilisé l'idée de bebel que j'ai pu comprendre grâce au tuto donné par keaton ce qui m'a donné pour la 1ère partie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    $i = 0;
     
    if (isset($_POST['heure' . $i])) {
    $variable = 'my_strh' . $i;
    $$variable = $_POST['heure' . $i]; }
    else {
    $_POST['heure' . $i] = "erreur calcul"; }
    ?>
    (j'ai du ajouter les accolades pour le "if")

    Je ne pense pas m'être trompé sur la 2è partie où j'ai remplacé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
    $my_strh1=$_POST['heure1'];
    $my_strz0=$_POST['zarrive'];
    //Conversion des heures en TimeStamp
    $h1=strtotime($my_strh1);
    $z0=strtotime($my_strz0);
    //Si la deuxieme heure est bien plus tard que la premiere
    if($z0 > $h1) {$a1=($z0-$h1);       }
    //Si c'est la premiere heure qui est plus tard que la deuxieme
    if($h1 > $z0) {$a1=86400-($h1-$z0);   }	
    ?>
    par ceci en adaptant avec votre aide:

    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
    <?
    $varh = 'h' . $i;
    $variable = 'my_strh' . $i ;
     
    $$variable = $_POST['heure' . $i];
    $my_strz0 = $_POST['zarrive'];
    //Conversion des heures en TimeStamp
    $$varh = strtotime($$variable);
    $z0=strtotime($my_strz0); 
     
    //Si la deuxieme heure est bien plus tard que la premiere
    $vara = 'a' . $i ;
    if($z0 > $varh) {$vara=($z0-$varh); }
    //Si c'est la premiere heure qui est plus tard que la deuxieme
    if($varh > $z0) {$vara=86400-($varh-$z0);   }
    ?>
    NB: Il s'agit d'une soustraction de H:M:S où
    - $z0 est l'heure d'arrivée
    - $varh est le temps qu'on soustrait (mes anciens h1, h2, h3, h4,... h20)


    Le problème actuel est que suite à l'insertion de ce code, les soustractions ne se font plus, sans doute à cause du tableau qui les appelle mais là je sèche.
    J'utilisais à la base ces input:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <INPUT type="text" name="heure1" value="HH:MM:SS">
    <INPUT type="text" name="heure2" value="HH:MM:SS">
    <INPUT type="text" name="heure3" value="HH:MM:SS">
    ... que je répète jusqu'à  name="heure20"

    J'ai donc tenté ceci mais ça ne fonctionne pas :/
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <INPUT type="text" name="heure[]" value="HH:MM:SS">
    <INPUT type="text" name="heure[]" value="HH:MM:SS">
    <INPUT type="text" name="heure[]" value="HH:MM:SS">
    ... et ceci 20 fois car besoin d'afficher jusqu'à 20 soustractions.

    Si ça peut aider, dans mon code de base trouvé sur le net et que j'essai d'adapter, j'affiche l'heure $varh comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?
    echo "".$$variable."";
    @$date1 = getdate($varh);
    ?>
    Et depuis la modif du code, le message d'erreur "erreur calcul" s'affiche à la place de mon $varh en H:M:S ("erreur calcul" est le texte d'erreur mis dans le 1er code de ce message ci)

    Bref, d'où vient mon erreur:
    - De mon code de départ qui envoi mal l'information? (page1.php)
    - Ai-je oublié de faire un tableau qui appelle mes "Heure"? (page2.php)
    - Comment alors faire ce tableau ?
    - Et à quoi correspond ceci svp, le problème pourrait-il venir de là:
    @$date1 = getdate($varh);

    (désolé du long message mais j'ai voulu être le plus explicite possible)

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <INPUT type="text" name="heure[]" value="HH:MM:SS">
    <INPUT type="text" name="heure[]" value="HH:MM:SS">
    <INPUT type="text" name="heure[]" value="HH:MM:SS">
    ... et ceci 20 fois car besoin d'afficher jusqu'à 20 soustractions.
    Effectivement tu as du boulot en simplification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for($i = 0; $i < 20; $i++) {
        echo '<input type="text" name="heure[]" value="HH:MM:SS" />';
    }
    D'ailleurs j'ai peur que le reste de ton code, d'après les bouts que tu nous as montré, ne contienne plein d'étapes inutiles : par exemple le cas 5 et grosso modo le cas 6 à l'envers.
    Explique nous exactement ce que tu veux obtenir et on pourra t'aider. Tel quel ton code est tellement alambiqué que c'est difficile de s'y retrouver.

    Si on reprend juste la différence entre la première valeur et les autres (je passe sur le fait que convertir des heures en date avec strtotime est une erreur) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    foreach($_POST['heure'] as $key=>$value) {
        if ($key == 0) {
            $premiere_heure = strtotime($value);
        }
        else {
             $heure = strtotime($value);
             if ($heure > $premiere_heure) {
                  $diff = 86400 - ($heure - $premiere_heure);
             }
             else {
                  $diff $premiere_heure - $heure;
            }
        }
    }

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Pour répondre à ta question, à la base il s'agit d'un code trouvé sur le net que j'ai voulu adapter à mes besoin. Malheureusement mes connaissance sont limitées.
    J'ai donc commencer à faire ce que je pouvais en venant demander de l'aide au besoin, parce que je me voyais mal arriver et demander à ce qu'on me fasse le boulot complet, puis de toutes manières je me serai fait remballer. lol.
    D'un autre côté c'est intéressant d'apprendre aussi, de comprendre ce qu'il se passe, seulement les tutos sur le net donnent des exemples sur des cas simples et dès qu'on veut pousser la chose c'est la galère.

    C'est pour ça que j'ai super apprécié d'avoir à la fois un exemple et un lien vers le tuto pour comprendre. Encore merci.

    Bref, je fais une autre réponse qui va parler du code, je crois que tout le monde s'en fiche de ma vie. mdr

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Donc. A la base j'ai ce code qui à pour but de faire une soustraction entre 2 heures. Le code est fait en gros pour faire le calcul "h0-h1=a1". Ce que j'aimerai faire, c'est permettre ce même calcul mais 20 fois, avec 20 "h1" différents (et ensuite les classer du plus petit au plus grand mais on n'y est pas encore. lol). Pour ça, j'ai donc modifié par le suite le nom "h0" en "z0" Donc un truc comme ceci:

    Page1
    en-tête: (h0, devenu z0) on entre l'heure d'arrivée
    colonne 1: du texte, numérotation des calculs
    colonne 2: (nc) on entre le nom du calcul qu'on va faire
    colonne 3: (heure, h1) on entre l'heure qu'on veut soustraire à "z0"
    => où dans chaque ligne on a: nc1=h1, nc2=h2, nc3=h3... jusqu'à 20.



    Voici le code de base dans la page calcul1:
    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
     
     
     //note Changer le "action" pour avoir le nom de votre page ou se fera le traitement
    	echo "<FORM method=\"POST\" name=\"mf\" action=\"./calcul2.php\">";
    ?>
     
     
    <div align="center" class="arrive">Heure d'arrivée : <INPUT type="text" name="heure0" value="HH:MM:SS">
    <?
    echo "<strong>".$my_strh0."</strong><br>";
                      //Controle du format de l'heure h 00 < hh < 24 ; 00 < mm < 59 ; 00 < ss < 59
                      @$date0 = getdate($h0);
                      if($h0 == -1 ){
                      echo "Heure_0 incorrecte ! <br>";
                      }else{
                      // echo "Heure_0 OK <br>";
                      ?>
     
    // Je passe sur un tas de <div> pour ne mettre que les plus importants
     
     
    // on numérote les calculs
     
    <div class="colone1"><div class="titrecolone">numéro</div> 
        	<div class="calcul">Calcul n°1</div>
            <div class="calcul">Calcul n°2</div>
            // ... ceci 20 fois ^^
            <div class="calcul">calage n°20</div>
    </div>
     
    // on demande un nom au calcul
     
    <div class="colone2"><div class="titrecolone">Ville</div>
        	<div class="nomducalcul"><input type="text" name="nc1" /></div>
            <div class="nomducalcul"><input type="text" name="nc2" /></div>
            // ... ceci 20 fois ^^
            <div class="nomducalcul"><input type="text" name="nc20" /></div>
    </div>
     
    // on demande le temps qu'on va soustraire
     
    <div class="colone2"><div class="titrecolone">Temps de trajet</div> 
        	<div class="trajet"><INPUT type="text" name="heure1" value="HH:MM:SS"></div>
            <div class="trajet"><INPUT type="text" name="heure2" value="HH:MM:SS"></div>
            //... ceci 20 fois, c'est ce sur quoi on bosse
            <div class="trajet"><INPUT type="text" name="heure20" value="HH:MM:SS"></div>
    </div>
     
    // on envoie le tout sur la 2è page
    <div class="trajet"><INPUT type="submit" name="go" value="Calculer"></FORM></div>
    Page 2
    en-tête: (z0) rappel de l'heure de base
    colonne 1: du texte, numérotation des calculs
    colonne 2: (nc) on affiche la valeur de $nc
    colonne 3: (heure, h1) on affiche la valeur de $h
    colonne 4: ($a) on affiche le résultat de chaque soustraction, à savoir:
    a1=z0-h1, a2=z0-h2, a3=z0-h3... jusqu'à 20 fois.

    => Ce qui est donc censé donner pour chaque ligne:
    nc1=h1=a1, nc2=h2=a3, nc3=h3=a3... jusqu'à 20.

    A la base pour ça j'ai ceci:
    (rappel: depuis, les $h0 sont devenus $z0, et les $heure0 sont devenus $zarrive0)
    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
     
    // vérification d'érreur
     
    /////////////////////////////////////////////////// 0
    if(isset($_POST['heure0']))
    $my_strh0=$_POST['heure0'];
    else
    $_POST['heure0'] = "00-00-00";
    /////////////////////////////////////////////////// 1
    if(isset($_POST['heure1']))
    $my_strh1=$_POST['heure1'];
    else
    $_POST['heure1'] = "00-00-00";
     
    if(!isset($a1))
    $a1 = 0;
     
    // les calculs se font ici
     
    //note Changer le "action" pour avoir le nom de votre page ou se fera le traitement
    	echo "<FORM method=\"POST\" name=\"mf\" action=\"./calcul3.php\">";
     
    $my_strh1=$_POST['heure1'];
                      $my_strh0=$_POST['heure0'];
                      //Conversion des heures en TimeStamp
                      $h1=strtotime($my_strh1);
                      $h0=strtotime($my_strh0);
                      //Si la deuxieme heure est bien plus tard que la premiere
                      if($h0 > $h1) {$a1=($h0-$h1);       }
                      //Si c'est la premiere heure qui est plus tard que la deuxieme
                      if($h1 > $h0) {$a1=86400-($h1-$h0);   }
     
     
    // on affiche z0
     
    <div align="center" class="arrive">Heure d'arrivée : <? echo "<font color=\"#F00\"><strong>".$my_strh0."</strong></font><br>";
                      //Controle du format de l'heure h 00 < hh < 24 ; 00 < mm < 59 ; 00 < ss < 59
                      @$date0 = getdate($h0);
                      if($h0 == -1 ){
                      echo " <br> Heure incorrecte !";
                      }else{
                      // echo "Heure_0 OK <br>";
                      ?>
     
    </div>
     
    // on affiche la numérotation des calculs
     
    <div class="colone1"><div class="titrecolone">calage</div> 
        	<div class="calcul">calcul n°1</div>
            <div class="calcul">calcul n°2</div>
            //... ceci 20 fois
            <div class="calcul">calcul n°20</div>
    </div>
     
    // on affiche le nom des calculs
     
     <div class="colone2"><div class="titrecolone">Ville</div>
        	<div class="nomducalcul"><?php echo $_POST['nc1']; ?></div>
            <div class="nomducalcul"><?php echo $_POST['nc2']; ?></div>
            //... ceci 20 fois
            <div class="nomducalcul"><?php echo $_POST['nc20']; ?></div> 
    </div>
     
    // on affiche le temps $h qu'on voulait soustraire
     
    <div class="colone2"><div class="titrecolone">Temps de trajet</div> 
        	<div class="trajet"><? echo "".$my_strh1."";
                      @$date1 = getdate($h1);
                      //Controle du format de l'heure h 00 < hh < 24 ; 00 < mm < 59 ; 00 < ss < 59
                      if($h1 == -1 ){
                      echo "<br>Heure incorrecte ! ";
                      }else{
                      // echo "Heure_1 OK <br>";
    ?>	 </div>
    // le petit code php ci-dessus est censé être refait 20 fois pour afficher les 20 valeurs h1, h2, h3, ...h20.
     
    // on affiche $a, qui est la différence $a1=z0-h1, que j'affiche actuellement lui aussi 20 fois pour avoir le résultats des 20 soustractions
     
     <div class="depart">
    <? 		$a1=$a1-3600;//Retrait d'une heure de decalage o_O
    		//reconversion du timestamp en heure pr?format?e (ici H M S)
                      echo strftime("%H:%M:%S",$a1);
                      }//Fin if else heure 0
                      }//Fin if else heure 1
    ?>        
            </div>
     
    // on part mettre les $0 du plus grand au plus petit sur la page calcul3.php
     
    <div class="trajet"><INPUT type="submit" name="go" value="Calculer"></FORM></div>
    Et je passe sur le fait de vouloir mettre les valeurs par ordre chronologique en fonction de $h pour l'instant. lol.
    C'est donc le code sur lequel j'essaie de faire quelque chose, à savoir modifier une soustraction de temps simple en une vingtaine de soustractions en fonction d'une heure $z0, puis afficher le résultat sous forme de tableau.

    Voilà pourquoi je souhaite réduire mon code, 20 fois c'est long. lol. Puis le tableau donné me permettra ensuite je pense de classer les résultats.

    En espérant que ça aide, de mon côté je vais tenter de bosser avec le bout de code de sabotage que je remercie.

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Par contre question: pourquoi convertir des heures en date avec strtotime est une erreur ? Ya quoi de mieux et pourquoi ?

    (j'ai pas besoin de date, seulement des heures hh:mm:ss en H24 pour soustraire aussi à minuit)

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est une erreur car il n'y a pas de gestion de temps seul en PHP.
    Disons plutôt que ce n'est pas fait pour ça donc il faut savoir ce qu'on manipule.
    Quand tu utilises strtotime() sur ton horaire, PHP considère que tu parles d'aujourd'hui.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo date('d/m/Y H:i:s', strtotime('11:59:02'));
    // 02/11/2013 11:59:02
    Selon ce que tu fais, cela peut te donner des résultats faux.
    Par exemple lors du changement d'heures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo (strtotime('2013-10-27 02:00:00') - strtotime('2013-10-27 01:00:00')) / 3600;
    // 2
    Donc le problème peut passer absolumment inapercu ou provoquer des erreurs selon ce que tu fais ou souhaite obtenir.

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Je me suis donc rapproché du mktime (j'y ai quand même passé 2h ^^) mais trop complexe pour moi, puis aussi trop poussé pour ce que je souhaite obtenir, à savoir une simple soustraction entre 2 "h:m:s" variables, sans date ni rien.

    J'ai donc commencé à bossé avec ton code pour me guider. Voici ce que j'obtiens maintenant pour la page1 qui a été réduite considérablement(!):
    (à comparer avec celles mise 2 post plus haut ^^)

    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
     
    <div align="center" class="arrive">Heure prévue d'arrivée : <INPUT type="text" name="zarrive" value="hh:mm:ss" onclick="if (this.value=='hh:mm:ss') this.value=''" >
     
    </div>
    <br /><br /><br />
    <div class="tableau">
    	<div class="colone1"><div class="titrecolone">calage</div> 
            <div class="calcul">	
    <? for ($i = 1; $i < 21; $i++) {
    echo "n°".$i."<br />";  } ?>
            </div>
    	</div>
     
        <div class="colone2"><div class="titrecolone">Ville</div>
        	<div class="ville">		
    <? for($i = 1; $i < 21; $i++) {
    echo '<input class="ip" type="text" name="ville[]" value="Nom de la ville" onclick="if (this.value==\'Nom de la ville\') this.value=\'\'" />'; } ?> 
            </div>
    	</div>
    	<div class="colone2"><div class="titrecolone">Temps de trajet</div> 
        	<div class="trajet">	
    <? for($i = 1; $i < 21; $i++) {
    echo '<input type="text" name="heure[]" value="hh:mm:ss" onclick="if (this.value==\'hh:mm:ss\') this.value=\'\'" />'; } ?>
    		</div>
    	</div>
    </div>
     
    <div class="envoiA">	
    <INPUT type="submit" name="go" value="Calculer"></FORM>       
    </div>

    C'est à partir de ces variables que je vais travailler sur la page2 pour calculer les différences. J'aurai bien besoin d'une petite aide concernant la construction du tableau et son affichage svp.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ remplace les <? par <?php !

    2/ L'indice d'un array (ici ville[]) commencera à 0 (zéro).

    Voici une "astuce" pour que les indices correspondent à $i (ici, de 1 à 20) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php for($i = 1; $i < 21; $i++) {
    echo '<input class="ip" type="text" name="ville['.$i.']" value="Nom de la ville" onclick="if (this.value==\'Nom de la ville\') this.value=\'\'" />'; } ?>
    Si on avait mis simplement name="ville[]", l'indice commencerait à 0 (zéro) par défaut.
    Ici, name="ville['.$i.']" -> permet d'imposer l'indice.

    Récupération :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $ville_array = (!empty($_POST['ville']))? $_POST['ville'] : ''; // $_POST['ville'] est un tableau/array de valeurs
    if(is_array($ville_array)) // si c'est bien un array (des valeurs ont bien été remplies)
    {
    	foreach($ville_array as $indice => $ville)
    	{
    		echo 'La ville '.$indice.' est : '.$ville.'<br/>';
    	}
    }
    $_POST['ville'] est un tableau/array de valeurs.
    Pour s'en convaincre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_POST['ville']);
    Boucle foreach :
    • $indice est l'indice de l'array pour la valeur $ville
    • $ville équivaut à : $ville_array[$indice] !

    Pour s'en convaincre, on aurait pu écrire :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	foreach($ville_array as $indice => $ville)
    	{
    		echo 'La ville '.$indice.' est : '.$ville_array[$indice].'<br/>';
    	}
    Dernière modification par Invité ; 04/11/2013 à 09h04. Motif: Correction du code

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    J'ai essayé mais rien de n'affiche. :/
    J'ai essayé aussi avec cette écriture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $ville_array = (!empty($_POST['ville'][$i])) ? $_POST['ville'][$i] : ''; // array
    if(is_array($ville_array))
    {
    	foreach($ville_array as $i => $ville) 
    	{
    		echo 'La ville '.$i.' est : '.$ville.'<br/>';
    	}
    }
    Mais rien de s'affiche non plus.

    Par contre j'ai essayé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $ville = $_POST['ville'][$i];
    $total = count($_POST['ville']);
    for($i = 1; $i < $total; $i++)
    	$_POST['ville'][$i] = (!empty($_POST['ville'][$i])) ? $_POST['ville'][$i] : '';
    	echo 'La ville '.$i.' est : '.$ville.'<br/>';
    Dans ce cas là ça fonctionne à moitié:
    - la variable $i pris en compte est la la dernère (donc la 20è)
    - la variable $ville pris en compte est 1ère
    => Donc ça correspond pas.

    Puis j'aimerai afficher les 20 variables en même temps alors encore moins cool. lol

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je me suis donc rapproché du mktime
    mktime fait la même chose que strottime()
    Comme je t'ai dit, il n'y a pas de fonction pour gérer des heures dans PHP.
    Il faut donc soit faire comme tu le fais déjà en pleine connaissance des limites, soit faire une fonction maison.

  15. #15
    Invité
    Invité(e)
    Par défaut
    C'est moi qui me suis "planté" en copiant-collant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ville_array = (!empty($_POST['ville']))? $_POST['ville'] : ''; // array

  16. #16
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    moué, mais si tu admet que une date ( H:h:m:s:ms:mms) , seul ne représente rien, juste une date... prenons maintenant 2 dates A et B pour ( H:h:m:s:ms:mms), il semble encore insoluble de les soustraites, sisi...

    prenons maintenant ses deux points ( ou date ) , mais avec un point d'origine O;

    O->A = 20;
    O->B = 30;

    OB - OA = 10;

    d'ou l'importance du timestamp, du point d'origine pour les soustractions de date...

    voila ma petite contribution

  17. #17
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    J'ai pas très bien compris ascito. o_O

    De mon côté j'ai bossé avec les lignes de code de sabotage qui m'ont permises d'alléger ma page1, et avec celles de jreaux62 qui en font de même en page2 où les colonnes "villes" et "trajet" s'affichent maintenant correctement.

    Seulement maintenant j'ai 2 problèmes:
    - Les calculs ne se font plus
    - Le résultat de la soustraction (colonne "depart") ne s'affiche plus. :/

    Voici ce que j'ai dans ma page2:

    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
    <?php
    // Récupération des données des heures
    $arrive = $_POST['arrive'];
    $trajet = $_POST['trajet' . $i];
     
    // Conversion des heures en TimeStamp
    $a = strtotime($arrive);
    $t = strtotime($trajet);
     
    // On fait les calculs (ici, des soustractions)
    // $depart = 'depart' . $i ;
    		// Si l'heure d'arrivée 'a' est plus grande que le temps de trajet 't' (si a > t)
    		if ($a > $t) { $d=($a-$t); }
    		// Si le temps de trajet 't' est plus grand que l'heure d'arrivée 'z' (si t > a)
    		if ($t > $a) { $d=8644-($t-$a)-3600; }
     
     
    ?>

  18. #18
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Comme le dis sabotage, il ne faut pas vouloir absolument passer par des fonctions natives pour manipuler ce qui a l'air d'être "un truc de PHP".

    Un timestamp correspond au nombre de secondes depuis le 1er janvier 1970. Donc tout ce que tu utiliseras qui sera lié axu timestamps sera relatif à cette référence.

    De façon générale, une heure, c'est 3600 secondes, une minute, c'est 60 secondes. Faire une fonction à laquelle tu envoies heures et minutes et qui retourne le nombre de secondes pour le traiter ensuite ne me parait pas bien sorcier, et bien moins subjectif que des fonction qui ne sont pas faites pour ça.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function convertTime($hour = 0, $minutes = 0, $seconds = 0) {
        return 3600 * $hour + 60 * $minutes + $seconds;
    }
    // Utilisation pour 2 heures et 10 minutes : $convertedTime = convertTime(2,10);
    Sinon pour le PHP imbriquée dans le HTML, personnellement, je préfère cette syntaxe (et c'est subjectif ) :
    http://php.net/manual/fr/control-str...ive-syntax.php

    Bon courage

  19. #19
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    C'est pas idiot pour la syntaxe, merci du truc. Niveau lisibilité c'est plus clair.

    J'ai essayé un peu tout et n'importe quoi niveau conversion: j'y arrive avec le mktime et avec la conversion en calcul comme tu viens de me la donner (même si ma version est beaucoup moins propre. lol).

    Finalement, mon problème actuel ne réside pas dans les conversions ou dans le calcul simple, mais dans le calcul en fonction des données envoyés en fonction de $i et à leur affichage. C'est à dire que:

    - Les valeurs fixes ("ville" et "heure arrive") s'affichent correctement;
    - La valeur variable "trajet" de $i n'est pas prise en compte dans les calculs, et par conséquent "arrivée" non plus puisqu'elle dépend de "trajet". ^^

    Bref, comment faire mon calcul en fonction de $i ?

    Voici où j'en suis au niveau du code:

    Page 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php for ($i = 1; $i < 21; $i++) {
    echo "<div class=\"ip_numero\">n°".$i."<br /></div>";  
    echo '<input class="ip_ville" type="text" name="ville['.$i.']" value="Nom de la ville" onclick="if (this.value==\'Nom de la ville\') this.value=\'\'" />'; 
    echo '<input class="ip_trajet" type="text" name="trajet_h['.$i.']" value="hh" onclick="if (this.value==\'hh\') this.value=\'\'" />' ;
    echo '<input class="ip_trajet" type="text" name="trajet_m['.$i.']" value="mm" onclick="if (this.value==\'mm\') this.value=\'\'" />' ;
    echo '<input class="ip_trajet" type="text" name="trajet_s['.$i.']" value="ss" onclick="if (this.value==\'ss\') this.value=\'\'" />'; } ?>
    Page 2
    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
     
    // Récupération des données des heures
    $arrive_h = $_POST['arrive_h'];
    $arrive_m = $_POST['arrive_m'];
    $arrive_s = $_POST['arrive_s'];
     
    $trajet_h = $_POST['trajet_h' . $i];
    $trajet_m = $_POST['trajet_h' . $i];
    $trajet_s = $_POST['trajet_h' . $i];
     
    // Récupération du TimeStamp
    $mkt_a = mktime($arrive_h, $arrive_m, $arrive_s); // Heure d'arrivée
    $mkt_t = mktime($trajet_h, $trajet_m, $trajet_s); // Temps de trajet
     
    // Calculs: soustraction $départ=arrivéefixe-$trajet
    if ($mkt_a > $mkt_t) { $mkt_d=($mkt_a-$mkt_t); }
    if ($mkt_t > $mkt_a) { $mkt_d=8600-($mkt_t-$mkt_a)-3600; }

    Comment faire pour que:

    1/ Le calcul soit fait en fonction du $i du trajet ?
    2/ Afficher les valeurs de $trajet pour chaque $i ?
    3/ Afficher les valeurs de $depart pour chaque $trajet ? (résultat du calcul)

  20. #20
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Et donc juste pour info et montrer que j'écoute vos conseils, voici ce que j'ai fait comme "fonction maison":

    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
     
    // On convertie l'heure d'arrivée en secondes
    $ah = ($arrive_h*3600) ;
    $am = ($arrive_m*60) ;
    $as = ($arrive_s) ;
    $a = ($ah + $am + $as); // ---> $a est le temps d'arrivée en secondes
     
     
    // On convertie le temps de trajets en secondes
    $th = ($trajet_h*3600) ;
    $tm = ($trajet_m*60) ;
    $ts = ($trajet_s) ;
    $t = ($th + $tm + $ts); // ---> $t est le temps de trajet en secondes
     
    // Calculs
    if ($a > $t) { $d=($a-$t); }
    if ($t > $a) { $d=8644-($t-$a)-3600; }
    C'est pas joli joli mais ça me semble clair.

    Mais le problème cité dans le message précédant est toujours là: les calculs ne se font pas car visiblement, $i n'est pas pris en compte dans les calculs. :/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Transcrire code PHP dans une DLL
    Par LEK dans le forum C++
    Réponses: 16
    Dernier message: 26/09/2005, 14h17
  2. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 12h55
  3. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 10h58
  4. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23

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