Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
682 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  ***RESOLU***:/ Arrays à 3 dimensions, tables html et boucles foreach()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

***RESOLU***:/ Arrays à 3 dimensions, tables html et boucles foreach()

n°467803
peewai
renversant
Posté le 25-07-2003 à 15:42:27  profilanswer
 

Bonjour,
 
Je rencontre un probleme avec le code suivant:
 

Code :
  1. <html>
  2. <head>
  3. <title>Document sans titre</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6. <body>
  7. <p>Int&eacute;gration des jobs.</p>
  8. <p>&nbsp;</p>
  9. <form name="form1" method="post" action="">
  10.   <p>Ref Client:
  11.   <select name="inst" id="inst">
  12.     <?php
  13.  require "Fonctions.inc.php";
  14.  $i = 0;
  15.  $inst = strtoupper($inst);
  16.  $IdInst = getIdInst();
  17.  $LibInst = getLibInst();
  18.  $sizeArrIdInst = count($IdInst);
  19.  print "<option selected>$inst</option>";
  20.  while($i != $sizeArrIdInst)
  21.  {
  22.   if(rtrim($LibInst[$i]) != $inst)
  23.   {
  24.    print '<option value="$IdInst[$i]">'.rtrim($LibInst[$i])."</option>\n";
  25.   }
  26.   $i++;
  27.  }
  28. ?>
  29.   </select>
  30.   </p>
  31.   <br>
  32.   <p>
  33.   <?php
  34.    $date = date("j-M-Y" );
  35. $date = strtoupper($date);
  36. $arrGen = array();
  37. $arrNomJob = array();
  38. $arrHeure = array();
  39. $arrGen = SearchLine_i("./fichiers/exploit/$fichier","^Batch queue ([A-Z]+_(BATCH|EXPB))","(^)","(^ +Entry)","^ +[0-9]+ +([A-Z_-]+)","( +[A-Z]+ +Holding until $date)","^ +[A-Z]+ + Holding Until [0-9]{2}-[A-Z]{2}-[0-9]{4} ([0-9:.])"," +[A-Z]+ +Holding until $date ([0-9:.]+)" );
  40.       // $fichier        | $regs1                  ||$regs2|  | $regs3   | | $regs4     |   | $regs5       | | $regs6                |  | $regs7                                |
  41. foreach($arrGen as $CléNomQueue => $NomQueue)
  42. {
  43.  // impression du nom de queue
  44.  print "<br><strong><u>$CléNomQueue:</u></strong>\n";
  45.     print '<input name="hiddenField" type="hidden" value="NOMJEU">'."\n";
  46.  // création du tableau
  47.     print '<table width="60%" border="1">'."\n";
  48.     print '<tr bgcolor="#CCCCCC">'."\n";
  49.    print '  <td width="61%"><div align="center">Job </div></td>'."\n";
  50.       print '  <td width="22%"><div align="center">Heure</div></td>'."\n";
  51.      print '  <td width="17%"><div align="center">Au planning</div></td>'."\n";
  52.      print "</tr>\n";
  53.  foreach($NomQueue as $NomJob)
  54.  {
  55.   print "<tr>\n";
  56.        print "  <td>|$NomJob|</td>\n";
  57. /*    foreach($NomJob as $Heure)
  58.   {
  59.    print "  <td><div align=\"center\">****$Heure****</div></td>\n";
  60.   }
  61.       print '  <td><div align="center">'."\n";
  62.       print "      <input type=\"checkbox\" name=\"checkbox\" value=\"au_planning\">\n";
  63.       print '    </div></td>'."\n";
  64.        print '</tr>'."\n";
  65. */  }
  66.     print '</table>'."\n";
  67. }
  68.   ?>
  69.    <p align="center">
  70.     <input type="submit" name="Submit" value="Envoyer">
  71.   </p>
  72. </form>
  73. </body>
  74. </html>


 
et
 

Code :
  1. <?php
  2. function SearchLine_i($fichier,$regs1,$regs2,$regs3,$regs4,$regs5,$regs6,$regs7)
  3. {
  4. $handle = fopen($fichier,"r" );
  5. $arrGen = array();
  6. $arrNomJob = array();
  7. $arrNomQueue = array();
  8. $arrHeure = array();
  9. $GotLine = fgets($handle);
  10. $arrHeure = array ();
  11. $arrGen[$arrNomQueue[$arrHeure[1]]] = array ();
  12. while(!feof($handle))
  13. {
  14.  if(ereg($regs1,$GotLine,$arrNomQueue))
  15.  { // Recherche de Batch queue
  16.   $GotLine = fgets($handle);
  17.   $arrGen[$arrNomQueue[1]] = array();
  18.   if(ereg($regs2,$GotLine))
  19.   { // Recherche d'un saut de ligne
  20.    $GotLine = fgets($handle);
  21.    if(ereg($regs3,$GotLine))
  22.    { // Recherche de Entry
  23.     $GotLine = fgets($handle);
  24.     $GotLine = fgets($handle);
  25.      while(ereg($regs4,$GotLine,$arrNomJob))
  26.      { // Recherche et extraction du nom de job
  27.       if(strlen($arrNomJob[1]) > 15)
  28.       { // Pour les lignes trop longues
  29.        $GotLine = fgets($handle);
  30.        if(ereg($regs5,$GotLine))
  31.        { // Verif date
  32.         ereg($regs6,$GotLine,$arrHeure);
  33.         array_push($arrGen[$arrNomQueue[1]],$arrNomJob[1]);
  34.         array_push($arrGen[$arrNomQueue[$arrHeure[1]]],$arrHeure[1]);
  35.        }
  36.       }
  37.       else
  38.       {
  39.        if(ereg($regs5,$GotLine))
  40.        { // Verif date
  41.         ereg($regs7,$GotLine,$arrHeure);
  42.         array_push($arrGen[$arrNomQueue[1]],$arrNomJob[1]);
  43.         array_push($arrGen[$arrNomQueue[$arrHeure[1]]],$arrHeure[1]);
  44.        }
  45.       }
  46.       $GotLine = fgets($handle);
  47.      }
  48.    }
  49.     else
  50.    { //Si Entry pas trouvé, on recommence la boucle
  51.     $arrHeure[1] = 'n/a';
  52.     array_push($arrGen[$arrNomQueue[1]],"Pas de jobs positionnés en attente dans cette queue.<br>\n" );
  53.     array_push($arrGen[$arrNomQueue[$arrHeure[1]]],$arrHeure[1]);
  54.    }
  55.   }
  56.  }
  57.  else
  58.   { // Si Batch queue pas trouvé, on passe à la ligne d'après et on recommence la boucle
  59.    $GotLine = fgets($handle);
  60.   }
  61. }
  62. return $arrGen;
  63. }
  64. ?>


 
mon probleme est lié au tableau a 3 dimensions. je n'arrive pas a le remplir dans la fonction avec le array_push(). je ne suis aps sur non plus de mes boucles foreach()...
 
la partie analyse des logs avec les expressions regulieres marche tres bien, le pb est uniquement lié aux arrays.
 
 
Merci de l'aide que vous pourrez m'apporter :)


Message édité par peewai le 28-07-2003 à 15:01:05
mood
Publicité
Posté le 25-07-2003 à 15:42:27  profilanswer
 

n°467822
omega2
Posté le 25-07-2003 à 15:51:21  profilanswer
 

foreach interne :  
$Job à la place de $HeureJob
 
Pour les arraypush, je laisses un autre vérifier.

n°467846
peewai
renversant
Posté le 25-07-2003 à 16:00:54  profilanswer
 

oui ca c'est modifié, c'est maintentn comme ca:
 
http://phpdebutant.org/wall610.php

n°467907
omega2
Posté le 25-07-2003 à 16:28:37  profilanswer
 

peewai a écrit :

oui ca c'est modifié, c'est maintentn comme ca:
 
http://phpdebutant.org/wall610.php

Erreur de compréhension, ce que je voulais dire, c'est que ligne 59 tu affichais le titre de l'élement mais a la ligne 60,  tu fesais un foreach sur le titre et pas sur le contenu.
IL falait pas faire une modif ligne 56 mais une ligne 60. ;)
 
Bon, on peut pas dire que j'avais fait une explication claire tout à l'heure. ;)
 
Heu, pour tes array_push, je vois pas comment tu comptes obtenir un tableau a 3 dimmensions. Là, je vois que 2. (tout les [] sont imbriqué et pas l'un d'entre eux derrière les autres)

n°467934
peewai
renversant
Posté le 25-07-2003 à 16:40:37  profilanswer
 

oui, je ne suis pas bien sur de mon coup sur les array_push!
 
je m'y perds completement avec les arrays multidimensionnels :/

n°467945
noldor
Rockn'roll
Posté le 25-07-2003 à 16:47:11  profilanswer
 

3 dimensions ce serait pas trop ? étant donné qu'on a encore des écrans à 2 dimensions, ce serait pas ça le problème ? tu perds une dimension à l'affichage je pense
ton code marchera surement avec des écrans 3D, en relief quoi !


Message édité par noldor le 25-07-2003 à 16:47:26
n°467949
anapajari
s/travail/glanding on hfr/gs;
Posté le 25-07-2003 à 16:49:40  profilanswer
 

:lol:

n°467950
noldor
Rockn'roll
Posté le 25-07-2003 à 16:50:38  profilanswer
 

c'est vendredi aprem, j'avais besoin de me détendre  ;)

n°467974
peewai
renversant
Posté le 25-07-2003 à 17:09:29  profilanswer
 

moi ca me fait pas trop rire, chu pas mal dans la merde :(

n°469434
peewai
renversant
Posté le 28-07-2003 à 10:05:40  profilanswer
 

:bounce:

mood
Publicité
Posté le 28-07-2003 à 10:05:40  profilanswer
 

n°469519
peewai
renversant
Posté le 28-07-2003 à 11:17:43  profilanswer
 

maj du code

n°469618
peewai
renversant
Posté le 28-07-2003 à 12:14:20  profilanswer
 

:cry:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  ***RESOLU***:/ Arrays à 3 dimensions, tables html et boucles foreach()

 

Sujets relatifs
[HTML] Dossier protégé, les images s'affichent random[HTML, JS] mettre un son sur une page web ?
[PHP] Comment récupérer un source HTML ? (site avec authentification)[HTML] guillemets ' et "
fonction de remplacement de html_entity_decode()tags HTML dans un textarea en cliquant sur un bouton (HFR style)
[ASP + VB.net] Séparer HTML et code[HTML] Question sur TABLE
[html] Modification d'une page HTML[HTML/JS] URL demandée et erreur 404
Plus de sujets relatifs à : ***RESOLU***:/ Arrays à 3 dimensions, tables html et boucles foreach()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR