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

PHP & Base de données Discussion :

récupérer des valeurs multiple d'un array


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut récupérer des valeurs multiple d'un array
    bonjour
    j'ai un formulaire qui me permet d'envoyer de multiples valeurs sous forme de tableau
    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
    <td><table bgcolor="#0099FF"><td  ><center><b>TC IN </TD><tR><td>';
    	echo'
     
    	<input type="text" class="TC" name="Htcin1-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin1-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin1-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin2-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin2-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin2-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin3-'.$nomdufichier2.'"value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin3-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin3-'.$nomdufichier2.'"value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin4-'.$nomdufichier2.'"value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin4-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin4-'.$nomdufichier2.'"value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin5-'.$nomdufichier2.'"value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin5-'.$nomdufichier2.'"value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin5-'.$nomdufichier2.'"value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin6-'.$nomdufichier2.'"value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin6-'.$nomdufichier2.'"value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin6-'.$nomdufichier2.'"value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin7-'.$nomdufichier2.'"value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin7-'.$nomdufichier2.'"value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin7-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin8-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin8-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin8-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin9-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin9-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin9-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcin10-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcin10-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcin10-'.$nomdufichier2.'" value="00"/>s<tr><td>
     
    	</td></tr></table >';
    	echo'<TD width="20px"></td>
    	<td><table  bgcolor="#0099FF">
    	<td  ><center><b>TC OUT </TD><tR><td>
    	<input type="text" class="TC" name="Htcout1-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout1-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout1-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout2-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout2-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout2-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout3-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout3-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout3-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout4-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout4-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout5-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout6-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout6-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout6-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout7-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout7-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout7-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout8-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout8-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout8-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout9-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout9-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout9-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout10-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout10-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout10-'.$nomdufichier2.'" value="00"/>s<tr><td>
    	<input type="text" class="TC" name="Htcout11-'.$nomdufichier2.'" value="00" />h&nbsp;
    	<input type="text" class="TC" name="Mtcout11-'.$nomdufichier2.'" value="00"/>m&nbsp;
    	<input type="text" class="TC" name="Stcout11-'.$nomdufichier2.'" value="00"/>s<tr><td>
    je récupère donc les valeurs sous forme d'un array.
    je souhaite donc récupérer les valeurs Htcin, Mtcin, Stcin, Htcout, Mtcout,Stcout dans une variable différente à chaque fois pour l'enregistrer dans une table mysql.
    j'ai d'abord fait une usine à gaz qui fonctionne uniquement sur les in.
    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
    $plus=0;
     
    // je récupère les valeurs du tableau
    foreach($_POST as $cle => $valeur){
    echo '<font color="#FFFFFF">';
     
     
     
     
    // explode pour rséparer nom de la valeur du N) de reference K7
    list($nom,$fichier) = explode('-', $cle);
    echo$nom.'<br>';
     
    // test de la valeur pourl'affecter au bon endroit
    If(strstr($nom,'Htcin'))$hin=$valeur;
     
    if(strstr($nom,'Mtcin'))$min=$valeur;
     
    if(strstr($nom,'Stcin'))$secin=$valeur;
     
    If(strstr($nom,'Htcout'))$hout=$valeur;
     
    if(strstr($nom,'Mtcout'))$mout=$valeur;
     
    if(strstr($nom,'Stcout'))$secout=$valeur;
    $plus=$plus+1;
    // boucle de trois pour recupérer H Min S, donc verif si on est bein a trois pour incrémenter un nouveau TC
    IF(($plus % 3 == 0)) {
    	$tcin= $hin.':'.$min.':'.$secin;
    	$tcout= $hout.':'.$mout.':'.$secout;
    echo"in". $tcin.'<br>';
    echo "OUT".$tcout.'<BR>';
    // enregistrement dans la base
    $sqlin="INSERT INTO derush (idderush, iduser, rush,fichier,TCin,TCout)
    VALUES ('', '$iduser', '$rush','$fichier','$tcin','$tcout')";
    mysql_query($sqlin);
    }
    }
    ensuite j'ai essayé d'utiliser un list mais ça fonctionne sur un tcin, et ce que je met en tcout prend la 2eme valeur de tcin, il faudrait faire, je crois une boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list($hin,$min,$secin,$hout,$mout,$secout)=array_values($_POST);
    mais comment faire pour récupérer donc face à un Htcin Mtcin, Stcin, la ligne correspondante du Htcout, Mtcout,Stcout et renter tout ça dans mysql

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    je n'ai absolument pas tout compris.
    J'ai repris ton code afin de le mettre au goût du jour (j'ai joué aux devinettes)
    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
    <input type="hidden" name="filename" value="<?php echo $nomdufichier2; ?>">
    <table bgcolor="#0099FF">
       <thead>
          <tr>
             <th><center><b>TC IN</b></center></th>
          </tr>
       </thead>
       <tbody>
          <?php for($i = 0; $i < 10; ++$i): ?>
          <tr>
             <td>
                <input type="text" class="TC" name="htcin[]" value="00" />h&nbsp;
                <input type="text" class="TC" name="mtcin[]" value="00" />m&nbsp;
                <input type="text" class="TC" name="stcin[]" value="00" />s
             </td>
          </tr>
          <?php endfor; ?>
       </tbody>
    </table>
    <table bgcolor="#0099FF">
       <thead>
          <tr>
             <th><center><b>TC OUT</b></center></th>
          </tr>
       </thead>
       <tbody>
          <?php for($i = 0; $i < 10; ++$i): ?>
          <tr>
             <td>
                <input type="text" class="TC" name="htcout[]" value="00" />h&nbsp;
                <input type="text" class="TC" name="mtcout[]" value="00" />m&nbsp;
                <input type="text" class="TC" name="stcout[]" value="00" />s
             </td>
          </tr>
          <?php endfor; ?>
       </tbody>
    </table>
    Ensuite pour ton code PHP j'avoue être largué.
    Est ce que tu pourrais expliquer simplement ce que doit faire ce formulaire et à quoi sert cette pléthore de <input />.
    Avec mon code, les variables récupérées sont stockées sous format tableau. Pour y accéder il faut utiliser les tableaux : foreach($_POST['htcin'] as $key => $value) { ... }

  3. #3
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    Je vais donc essayer d'être un peu plus clair.
    le formulaire sert pour "dérusher" des fichiers vidéos, faire une sélection de segments compris entre un point IN et un point OUT.
    Pour éviter au maximum les mauvais remplissage, j'ai séparé les heures $htcin et $htcout, les minutes $mtcin et $mtcCout, et les secondes.
    J'ai accompagné le nom d'un N° de fichier pour avoir cette info, mais j'aurais peut être mieux fait de faire un hidden.

    Donc en PHP je veux récupérer ces données pour reconstruire d'une part un TCIN avec htcin, mtcin et stcin et d'autre part un Htcout mtcout stcout pour faire un TCOUT.
    Je fais ensuite un insert de ces 2 valeurs dans un colonne TIME de BBDmysql.
    N'étant pas un pro du PHP je ne connait pas toutes les fonctions, j'ai des fois un peu de mal avec des choses basiques.
    ta suggestion pour le formulaire et le PHP je les retient c'est effectivement beaucoup plus simple.
    Mais maintenet je voudaris imbriquer plusieurs for each pour à chaque fois récupéré l'ensemble H, M ,S j'ai essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($_POST['Htcin'] as $htcin => $valeur){
    foreach($_POST['Mtcin'] as $mtcin=> $valeur2){
    	foreach($_POST['$stcin'] as $sstcin=> $valeur3){
    ...}}}
    Mais ça ne fonctionne pas car pour faire la deuxième boule if faut attendre la fin de la premier pareil ensuite.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Tu devrais éviter ce genre de formulaire. Une simplification trop poussée comme là est néfaste. Je vais te proposer une autre approche, beaucoup plus gérable.

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Comme promis,

    voci le code pour ton formulaire :
    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
    <input type="hidden" name="filename" value="<?php echo $nomdufichier2; ?>">
    <table bgcolor="#0099FF">
       <thead>
          <tr>
             <th><center><b>TC IN</b></center></th>
             <th><center><b>TC OUT</b></center></th>
          </tr>
       </thead>
       <tbody>
          <?php for($i = 0; $i < 10; ++$i): ?>
          <tr>
             <td><input type="text" class="TC" name="timein[]" value="00:00:00" /></td>
             <td><input type="text" class="TC" name="timeout[]" value="00:00:00" /></td>
          </tr>
          <?php endfor; ?>
       </tbody>
    </table>
    Tu remarqueras que maintenant l'utilisateur saisit le temps au format 'hh:mm:ss' pour le début et la fin (10 lignes). N'oublies pas que l'utilisateur n'est pas généralement complètement idiot.

    Voici le code PHP correspondant allant jusqu'à l'insertion en base :
    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
    <?php
     
    /**
     * @param string $p '00:00:00'
     * @param string $limitTo Toute durée excédant la limite sera considérée comme invalide
     */
    function isTime($p, $limitTo = '24:00:00') {
       $str = str_replace(':', '', $p);
       if ( ! ctype_digit("$str")) {
          return false;
       }
     
       $h = '00';
       $m = '00';
       $s = '00';
     
       $parts = explode(':', $p);
     
       $filter = function($p, $var) use ($parts, &$m, &$s) {
          if (isset($parts[$p])) {
             if ($parts[$p] > 59) {
                return false;
             }
             else {
                $$var = sprintf('%02d', $parts[$p]);
             }
          }
       };
     
       // heures
       if (isset($parts[0])) {
          $h = sprintf('%02d', $parts[0]);
       }
     
       // minutes
       if ($filter(1, 'm') === false) {
          return false;
       }
       // secondes
       if ($filter(2, 's') === false) {
          return false;
       }
     
       $strLimit = str_replace(':', '', $limitTo);
       return (($h.$m.$s) <= $strLimit);
    }
     
    // reconstruction de time : in & out
    if ( ! (empty($_POST['timein']) || empty($_POST['timeout']))) {
       $time = array();
       // parcours du tableau des temps
       for($i = 0; $i < 10; ++$i) {
          // les deux temps doivent être présents
          if ( ! (empty($_POST['timein'][$i]) || empty($_POST['timeout'][$i]))) {
             $in  = $_POST['timein'][$i];
             $out = $_POST['timeout'][$i];
             if (isTime($in) && isTime($out)) {
                // le temps out doit être postérieur au temps in
                $strin  = str_replace(':', '', $in);
                $strout = str_replace(':', '', $out);
                if ($strin < $strout) {
                   $time[] = array('in' => $in, 'out' => $out);
                }
             }
          }
       }
     
       if ( ! empty($time)) {
          // je suppose que $iduser est un entier, $rush et $fichier des string
          $common = $iduser.", '".mysql_real_escape_string($rush)."', '".mysql_real_escape_string($_POST['filename'])."'";
          $data = array();
          foreach($time as $inOut) {
             $data[] = "($common, '{$inOut['in']}', '{$inOut['out']}')";
          }
          $sql = 'INSERT INTO derush (iduser, rush, fichier, TCin, TCout) VALUES ' . implode(', ', $data);
          mysql_query($sql);
       }
    }
    ?>
    Comme toujours ça sort du four, je n'ai rien testé, donc je croise les doigts.
    Et puis si tu es débutant en PHP je te souhaite aussi un bon dimanche

  6. #6
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    ok super, merci rawsrc.
    effectivement à vouloir trop simplifier, on complique les choses.
    Je vais tester dans la journée essayer de comprendre ce que tu as fait.
    Je t'informerai des soucis éventuels.

  7. #7
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    j'ai donc copier coller le code dans dreamwaver.
    et ça me dit erreur de syntaxe ligne 19
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $filter =function($p, $var) use ($parts, &$m, &$s) {
    je n'ai pas réussi à identifier l'erreur

  8. #8
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Tu codes en PHP 5.3+ ?

  9. #9
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    ben alors là tu me pose une colle, comment savoir cela?
    je croyais que c'était lors de la lecture des pages le serveur qui déterminait quel version de PHP était installé.
    Si c'est ça pour le moment je suis en local sur MAMP en PHP 5.3.6. les pages iront sur les pages perso free je ne sais plus en quoi est le PHP.

    C'est dès que colle le code dans dreamwaver que j'ai ce souci lea ligne apparait en rouge.

  10. #10
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Il faut vérifier quelle est la version du parser PHP utilisé par Dreamweaver.
    Je t'avoue que je ne connais pas du tout Dreamweaver donc je te serai d'aucune aide.
    Cette syntaxe est propre à PHP 5.3 et si tu la vois en rouge cela veut dire que Dreamweaver pédale dans la choucroute ou qu'il mériterait une mise à jour.
    Si tu veux essayer un autre IDE : regardes Netbeans - Gratuit et plutôt bon avec PHP.

  11. #11
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    j'ai essayé le code sans tenir compte de l'erreur dreamwaver.
    Mais j'ai apparemment une erreur, rien ne s'enregistre dans la table.
    j'ai trouvé dans le $common il manquait '' au début pour incrémenter le iduser dont je me suis pas encore occupé

  12. #12
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par rvm31 Voir le message
    jj'ai trouvé dans le $common il manquait '' au début pour incrémenter le iduser dont je me suis pas encore occupé
    Regardes mon commentaire en ligne 69. C'est pour ça que j'ai retiré les ''

  13. #13
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    Ok merci.
    et j'ai encore une question.
    lorsque l'utilisateur fait une erreur genre il manque les 2points de séparation, ou le tmps de sortie est inférieur au temps d'entrée, il ya des false.
    Mais est il possible d'afficher un message précisant l'erreur.

  14. #14
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Oui, tu peux très bien mettre en place un mécanisme qui renvoie une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isTime($in) && isTime($out)) {
       ...
    }
    else {
       echo 'Temps invalide en ligne : ' $i+1;
    }
    C'est une idée parmi d'autre.
    Tu peux aussi personnaliser le retour de la fonction isTime(), elle peut très bien te renvoyer ce que tu souhaites.
    Fais des tests...

  15. #15
    Membre éclairé

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 407
    Par défaut
    Bonjour c'est encore moi.

    alors je veux tester un message a la fin des fonctions
    le if else
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if (isTime($in) && isTime($out)) {...}
    else
    je n'ai pas testé mais ça je comprend, enfin je pense en général les if else ça va.
    par contre j'essaye de mettre les messages pour les erreurs après les fonctions j'ai fait ç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
    function isTime($p, $limitTo = '99:00:00') {
       $str = str_replace(':', '', $p);
       if ( ! ctype_digit("$str")) {
           $message="pas de chiffre";
          return $message;
    ...
    if ( ! (empty($_POST['timein'][$i]) || empty($_POST['timeout'][$i]))) {
             $in  = $_POST['timein'][$i];
             $out = $_POST['timeout'][$i];
             if (isTime($in) && isTime($out)) {
                // le temps out doit être postérieur au temps in
                 echo isTime();
    ....
       }
    je pensais que le message s'affichait quand la fonction détectait dans la chaines des valeurs non numériques mais ça marche pas trop bien puisque ça m'affiche le message tout le temps

    et après dans le même genre j'ai essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // heures
       if (isset($parts[0])) {
          $h = sprintf('%02d', $parts[0]);
       }
     
       // minutes
       if ($filter(1, 'm') === false) {
          return $message;
       }
       // secondes
       if ($filter(2, 's') === false) {
          return $message;
    mais je ne comprend pas comment les afficher

    merci pour ton aide

Discussions similaires

  1. Récupérer des valeurs Object Array
    Par chillout dans le forum Langage
    Réponses: 2
    Dernier message: 02/09/2013, 14h35
  2. Récupérer des valeurs multiples dans un DBGrid
    Par Antjac dans le forum Bases de données
    Réponses: 7
    Dernier message: 17/12/2007, 20h44
  3. récupérer des valeurs de variables de pages en pages
    Par harlock59 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 12h04
  4. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 14h58
  5. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38

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