[php] Creation Tableau

Fermé
alucard67
Messages postés
37
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
1 juin 2007
- 11 mai 2007 à 17:28
alucard67
Messages postés
37
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
1 juin 2007
- 16 mai 2007 à 09:29
Bonjour me voici de nouveau sur ce fort aimable et sympatique forum, qui de plus est tres tres utile.

Bon tel est ma question aujourd'hui:

dans un premier temps j'envoie une requete snmp qui me retourne toutes les infos d'un equipement réseau distant. ces info sont du type

info 1.0
info 1.1
info 1.2
info 1.3
info 1.4
info 1.5
info 2.0
info 2.1
info 2.2
info 2.3
info 2.4
info 2.5


bref je recoit tout un bordel (la réponse récuperer de l'equipement reseau s'appelera ainsi dans la suite de mon post) sur une seul colonne, collé a gauche bien evidement .

sur un logiciel specialement creer pour recuperer ce type d'info elle sont classées en 9 colonnes avec 16 lignes .

moi mon but c'est donc de creer un tableau de 9 colonnes avec un titre au dessus de chaque colonnes et remplir les 16 lignes en reprennant le bordel que me renvoi mon equipement reseau.

Bon je vous explique maintenant comment je vois les choses.
déja je me disais que je devrais creer un tableau de 16 lignes et 9 colonnes (facile jusque la) mais en remplissant ma 1er colonne par les lignes 1 à 16 de mon bordel, 2eme colonne par les ligne 17 a 32 de mon bordel, 3eme colonne par les ligne 33 à (heuuu 32+16=48) donc jusqu'a la ligne 48 et ainsi de suite .

deja je voudrais savoir si c'est possible et si c'est le cas un coup de main pour la syntaxe . voila bein c à peu pres tout.


Merci d'avance pour les eventuels coup de main !! ;)

5 réponses

plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
11 mai 2007 à 20:54
$fc = file('input.txt');
for($i = 0; $i < 16*9; $i++)
    $tableau[$i%16][$i/16] = $fc[$i];
0
alucard67
Messages postés
37
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
1 juin 2007
3
14 mai 2007 à 09:08
heu quelque petites explications ne serait pas de refus parce que là, ça me laisse un peu dans le flou ...
0
alucard67
Messages postés
37
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
1 juin 2007
3
14 mai 2007 à 15:58
j'ai essayé, ca ne fonctionne pas comme il faut , car en fait il faut que je recupere les information dans mon fichier , ici input.txt, et je doi les mettre dans mon tableau.ensuite je dois afficher les 16 premieres lignes dans ma premier colonne et les ligne 17 a 24 dans la deuxieme etc...

mais lorque jutilise ta methode jai le bordel suivant :

3 3 3 3 3 3 1 2 1 3 3 3 3 3 3 3 "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "card description not set" "BSR64000 SRM" "card description not set" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 CMTS" "BSR64000 HSIM" "050043971" "050043959" "050021534" "050010102" "050010018" "027013574" "serial number not set" "050050695" "serial number not set" "050016245" "050016233" "050012616" "050013770" "027012872" "027012823" "050010719" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "hardware version not set" "CHS-0009-01" "hardware version not set" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "CHS-0009-01" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "software version not set" "3.1.1.17P02.KRCU" "software version not set" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" "3.1.1.17P02.KRCU" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 3 2 3


c'est pas tres estethique n'est ce pas?

ca s'annonce plus dur que prevu :(

quelqu'un ne peut il maider en ce bas monde, enfin en ce bas forum ...
0
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
16 mai 2007 à 02:35
Désolé de t'avoir laissé tomber.
C'est exactement ce que fait mon code.

Regarde la ligne $tableau[$i%16][$i/16] = $fc[$i]; selon la valeur de $i ($i est le n° de ligne dans le fichier) :
$i    Ligne
 0 $tableau[0][0] = $fc[0]
 1 $tableau[1][0] = $fc[1]
 2 $tableau[2][0] = $fc[2]
 3 $tableau[3][0] = $fc[3]
 4 $tableau[4][0] = $fc[4]
 5 $tableau[5][0] = $fc[5]
 6 $tableau[6][0] = $fc[6]
 7 $tableau[7][0] = $fc[7]
 8 $tableau[8][0] = $fc[8]
 9 $tableau[9][0] = $fc[9]
10 $tableau[10][0] = $fc[10]
11 $tableau[11][0] = $fc[11]
12 $tableau[12][0] = $fc[12]
13 $tableau[13][0] = $fc[13]
14 $tableau[14][0] = $fc[14]
15 $tableau[15][0] = $fc[15]
16 $tableau[0][1] = $fc[16]
17 $tableau[1][1] = $fc[17]
18 $tableau[2][1] = $fc[18]
19 $tableau[3][1] = $fc[19]
20 $tableau[4][1] = $fc[20]
...

le 1er indice du tableau est la ligne, le 2e la colonne.
Dans la colonne 0 tu as bien tes 16 (lignes 0 à 15) premières lignes de ton fichier.
Dans la colonne 1 tu as les 16 suivantes (lignes 16 à 31)
Etc...

Avec une double boucle for tu devrai pouvoir les ressortir en ligne :
for($c = 0; $c < 9; $c++)
{
    for($l = 0; $l < 16; $l++)
    {
        echo $tableau[$l][$c].'    ';
    }
    echo '<br />';
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alucard67
Messages postés
37
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
1 juin 2007
3
16 mai 2007 à 09:29
heu y'aurai-t-il d'autres lignes à ajouter a mon script pour que ton code fonctionne??
parce que la , ca m'affiche que dalle, mais jai l'impression que quelque expression manque
(jsui un peu un debutant en fait )
merci encore .
0