Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/01/2012, 16h53   #1
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
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 :
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 :
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 :
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
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 18h36   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
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 :
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) { ... }
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 22h12   #3
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
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 :
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.
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 22h44   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
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.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 00h21   #5
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Comme promis,

voci le code pour ton formulaire :
Code :
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 :
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
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 09h13   #6
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
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.
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 15h29   #7
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
j'ai donc copier coller le code dans dreamwaver.
et ça me dit erreur de syntaxe ligne 19
Code :
1
2
 
$filter =function($p, $var) use ($parts, &$m, &$s) {
je n'ai pas réussi à identifier l'erreur
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 15h33   #8
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Tu codes en PHP 5.3+ ?
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 16h43   #9
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
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.
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 16h47   #10
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
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.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 17h14   #11
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
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é
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 19h49   #12
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
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 ''
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 20h28   #13
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
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.
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 22h10   #14
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Oui, tu peux très bien mettre en place un mécanisme qui renvoie une erreur :
Code :
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...
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 22h54   #15
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
Bonjour c'est encore moi.

alors je veux tester un message a la fin des fonctions
le if else
Code :
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 :
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 :
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
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h14.


 
 
 
 
Partenaires

Hébergement Web