Je suis débutant en php. Je suis entrain de faire un programme pour recupérer des infos et les mettre dans ma bdd. Tout marche bien ma bdd se remplit sauf que j'ai des erreurs du type Undefined offset:1 ou 8 ou 6 a chaque enregistrement. Ci joint mon code source et vraiment, merci d'avance.
Voici les erreuress
( ! ) Notice: Undefined offset: 1 in C:\wamp\www\projet_sw_dump\modele\sw_dump\recuperation_donnee.php on line 32
Call Stack
# Time Memory Function Location
1 0.0030 155816 {main}( ) ..\recuperation_donnee.php:0
2 1.1411 186704 trmt_sschamps( ) ..\recuperation_donnee.php:111
( ! ) Notice: Undefined offset: 1 in C:\wamp\www\projet_sw_dump\modele\sw_dump\recuperation_donnee.php on line 40
Call Stack
# Time Memory Function Location
1 0.0030 155816 {main}( ) ..\recuperation_donnee.php:0
2 1.1481 186704 trmt_sschamps( ) ..\recuperation_donnee.php:112
( ! ) Notice: Undefined offset: 1 in C:\wamp\www\projet_sw_dump\modele\sw_dump\recuperation_donnee.php on line 40
Call Stack
# Time Memory Function Location
1 0.0030 155816 {main}( ) ..\recuperation_donnee.php:0
2 1.1541 186696 trmt_sschamps( ) ..\recuperation_donnee.php:115
( ! ) Notice: Undefined offset: 6 in C:\wamp\www\projet_sw_dump\modele\sw_dump\recuperation_donnee.php on line 28
Call Stack
# Time Memory Function Location
1 0.0030 155816 {main}( ) ..\recuperation_donnee.php:0
2 1.1601 186672 trmt_sschamps( ) ..\recuperation_donnee.php:116
( ! ) Notice: Undefined offset: 2 in C:\wamp\www\projet_sw_dump\modele\sw_dump\recuperation_donnee.php on line 32
Call Stack
# Time Memory Function Location
1 0.0030 155816 {main}( ) ..\recuperation_donnee.php:0
2 1.1661 186640 trmt_sschamps( ) ..\recuperation_donnee.php:117
<?php
//pour se connecter à la base de donnees
include_once('C:\\wamp\\www\\projet_sw_dump\\modele\\connexion_sql_.php');
//vide le contenu des tables à enlever après les tests
$delete_omc=$bdd->prepare('TRUNCATE TABLE omc');
$delete_node=$bdd->prepare('TRUNCATE TABLE node');
$delete_carte=$bdd->prepare('TRUNCATE TABLE carte');
$delete_swdump=$bdd->prepare('TRUNCATE Table alarm_sw_dump_node');
$delete_omc->execute();
$delete_node->execute();
$delete_carte->execute();
$delete_swdump->execute();
//founction permetant d'extraire un sous champ
function trmt_sschamps($j,$champ_atraiter,$carac_aexplo){
switch($carac_aexplo){
case '/':
$temp=explode($carac_aexplo,$champ_atraiter);
return $temp[$j];
break;
case '{':
$temp=explode($carac_aexplo,$champ_atraiter);
return $temp[$j];
break;
case '-':
$temp=explode($carac_aexplo,$champ_atraiter);
return $temp[$j];
break;
case ' ':
$temp=explode($carac_aexplo,$champ_atraiter);
return $temp[$j];
break;
case ',':
$temp=explode($carac_aexplo,$champ_atraiter);
return $temp[$j];
break;
case ':' :
$temp=explode($carac_aexplo,$champ_atraiter);
return $temp[$j];
break;
default:
echo "je ne peux pas";
}
}
//fonction pour inverser la date
function reverseDate($date){
if (isset($date)){
$prem=explode(' ',$date);
//var_dump($prem[0]);
$sec=explode( "-",$prem[0]);
//var_dump($sec[0]);
//var_dump($sec[1]);
//var_dump($sec[2]);
$array=array($sec[2],$sec[1],$sec[0]);
$_dateRenv=implode("-",$array);
$array1=array($_dateRenv,$prem[1]);
$dateRenv=implode(" ",$array1);
return $dateRenv;
}
}
//ouverture fichier
$fp=fopen("C:\\Users\\MDWT6356\\Desktop\\hfb_20141102.0000-2359.txt","r");
while(!feof($fp)){
//recupération ligne par ligne
$ligne =fgets($fp);
//recupération des champs séparés par ; sur une ligne
$champs=explode(";",$ligne);
//Assignation des variable pour remplir la table alarm_sw_dump_node
if(isset($champs[0])){
$N_NODE=$champs[0]; //a prendre dans la BDD
}
if(isset($champs[1])){
$N_OMC=trmt_sschamps(0,$champs[1],"/");
}
if(isset($champs[2])){
$_E_TIME=$champs[2];
$E_TIME=reverseDate($_E_TIME);
}
if(isset($champs[8])){
$T_CARTE=trmt_sschamps(0,$champs[8],"/");
}
if(isset($champs[10])){
$FC_NODE=$champs[10];
}
if(isset($champs[9])){
$S_NODE=trmt_sschamps(1,$champs[9],"{");
}
//var_dump($N_NODE);
//var_dump($_E_TIME);
//var_dump($E_TIME);
$_SW_NODE= trmt_sschamps(8,$S_NODE,"-");
$SW_NODE= trmt_sschamps(1,$_SW_NODE," ");//enlevement des caractères dérangeant
$SW_NODE_fin =trmt_sschamps(1,$SW_NODE,":");
$_PEC=trmt_sschamps(5,$S_NODE,"-");
$PEC=trmt_sschamps(1,$_PEC," ");//enlevement des caractères dérangeant
$PEC_fin=trmt_sschamps(1,$PEC,":");
$_SN=trmt_sschamps(6,$S_NODE,"-");
$SN= trmt_sschamps(2,$_SN," ");//enlevement des caractères dérangeant
//var_dump($PEC_fin);
$buffer= trmt_sschamps(0,$champs[9],"{");
$_cabinet= trmt_sschamps(1,$buffer,",");
$cabinet= trmt_sschamps(1,$_cabinet,":");//enlevement des caractères dérangeant
$_shelf=trmt_sschamps(2,$buffer,",");
$shelf= trmt_sschamps(1,$_shelf,":");//enlevement des caractères dérangeant
$_slotPosition=trmt_sschamps(3,$buffer,",");
$slotPosition=trmt_sschamps(1,$_slotPosition,":");
//$test_date="2014-04-1011:14:28";
//ajout un nouvel enregistrement dans la table OMC
$query_omc=$bdd->prepare('INSERT INTO omc(N_OMC)VALUES(:N_OMC)');
$res_omc=$query_omc->execute(array('N_OMC'=>$N_OMC));
//ajout un nouvel enregistrement dans la table node
$query_node=$bdd->prepare('INSERT INTO node(N_NODE,SW_NODE) VALUES(:N_NODE,:SW_NODE)');
$res_node=$query_node->execute(array('N_NODE' => $N_NODE,
'SW_NODE'=>$SW_NODE_fin));
//ajout un nouvel enregistrement dans la table carte
$query_carte=$bdd->prepare('INSERT INTO carte (T_CARTE,cabinet,shelf,slotPosition,PEC,S_N) VALUES (:T_CARTE, :cabinet, :shelf, :slotPosition, :PEC, :SN)');
$res_carte=$query_carte->execute(array('T_CARTE'=>$T_CARTE,
'cabinet'=>$cabinet,
'shelf'=>$shelf,
'slotPosition'=>$slotPosition,
'PEC'=>$PEC_fin,
'SN'=>$SN));
//ajout un nouvel enregistrement dans la table alarm_sw_dump_node
$query_swdump=$bdd->prepare('INSERT INTO alarm_sw_dump_node(E_TIME,N_OMC,N_NODE,T_CARTE,S_NODE,FC_NODE) VALUES(:E_TIME, :N_OMC, :N_NODE, :T_CARTE, :S_NODE, :FC_NODE)');
$res=$query_swdump->execute(array('E_TIME' => $E_TIME,
'N_OMC' => $N_OMC,
'N_NODE' => $N_NODE,
'T_CARTE' => $T_CARTE,
'S_NODE' => $S_NODE,
'FC_NODE' => $FC_NODE
));
//if($res==false){var_dump("NOK");}
//echo"\nPDO::errorInfo():\n";
}
fclose($fp);
$bdd=null;
?>