Notice: Undefined offset: 10

Bonjour,

J'ai deux notices de type "Notice: Undefined offset: 10 " dans cette fonction : (j'ai mis des points d'exclamation devant les deux lignes engendrant les erreurs) :

//consultation d'un champ
function field($Colonne)
{
if(isset($this->aryData))
{
if(gettype($Colonne) == "integer")
{
if(gettype($this->aryData[$this->intIndex][$Colonne]) != "array")
{
return trim($this->aryData[$this->intIndex][$Colonne]);
}
else
{
return $this->aryData[$this->intIndex][$Colonne];
}
}
else if(gettype($Colonne) == "string")
{
!!!!!!!!!!!!! if(gettype($this->aryData[$this->intIndex][$this->aryNames[strtoupper($Colonne)]]) != "array")
{
!!!!!!!!!!!!! return trim($this->aryData[$this->intIndex][$this->aryNames[strtoupper($Colonne)]]);
}
else
{
return $this->aryData[$this->intIndex][$this->aryNames[strtoupper($Colonne)]];
}
}
}
else
{
return "";
}

Pourriez-vous m'aider?
Merci d'avance
David
Configuration: Windows 2000
Internet Explorer 6.0

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Avec tous tes "if" et imbrications, ce serait vraiment plus clair si tu utilisais les balises < code> de ce forum, qui permettent de garder les indentations de début de ligne...

    A part ça, l'erreur me semble claire : ton $this->aryData[$this->intIndex]...
    pose problème car $this->intIndex vaut 10, et que aryData[10] n'existe pas... Mais on ne peut pas t'en dire plus sans avoir tout le code, et notamment la façon dont a été rempli aryData.

    Xavier
    1. (merci pour ta réponse)

      Voici tout le code :

      //classe recordset
      class Recordset
      {
      var $classname = "Recordset";
      var $persistent_slots = array("aryData","aryNames","intIndex","intRowCount","intColCount");
      var $aryData; //tableau contenant les donnees
      var $aryNames; //tableau contenant le numero de colonnes
      var $intIndex = 0; //index de parcours des enr
      var $intRowCount = 0; //nombre de lignes
      var $intColCount = 0; //nombre de colonnes

      // permet de renseigner l'objet une fois instancie
      function setData($aryNewData, $aryNewNames)
      {
      $this->intIndex = 0;
      $this->aryData = $aryNewData;
      $this->aryNames = $aryNewNames;
      $this->intRowCount = count($this->aryData);

      if($this->intRowCount == 0)
      {
      $this->intColCount = 0;
      }
      else
      {
      $this->intColCount = count($this->aryData);
      }
      }

      //teste si l'index est situe avt le 1er enregistrement
      function BOF()
      {
      return (($this->intIndex == -1)or($this->intRowCount == 0));
      }

      //teste si l'index est situe apres le dernier enregistrement
      function EOF()
      {
      return ($this->intIndex == $this->intRowCount);
      }

      //teste s'il existe un enregistrement
      function isEmpty()
      {
      return ($this->intRowCount == 0);
      }

      //place l'index sur le 1er enregistrement
      function moveStart()
      {
      $this->intIndex = 0;
      }

      //place l'index sur le dernier enregistrement
      function moveEnd()
      {
      if(isset($this->aryData))
      $this->intIndex = $this->intRowCount - 1;
      }

      //place l'index sur l'enregistrement suivant
      function moveNext()
      {
      if((isset($this->aryData))&&(!$this->EOF()))
      $this->intIndex++;
      }

      //place l'index sur l'enregistrement precedent
      function movePrec()
      {
      if((isset($this->aryData))&&(!$this->BOF()))
      $this->intIndex--;
      }

      //place l'index a $intDest
      function move($intDest)
      {
      if((isset($this->aryData))&&($intdest >= 0)&&($intDest < $this->intRowCount))
      $this->intIndex = $intDest;
      }

      //consultation d'un champ
      function field($Colonne)
      {
      if(isset($this->aryData))
      {
      if(gettype($Colonne) == "integer")
      {
      if(gettype($this->aryData[$this->intIndex][$Colonne]) != "array")
      {
      return trim($this->aryData[$this->intIndex][$Colonne]);
      }
      else
      {
      return $this->aryData[$this->intIndex][$Colonne];
      }
      }
      else if(gettype($Colonne) == "string")
      {
      if(gettype($this->aryData[$this->intIndex][$this->aryNames[strtoupper($Colonne)]]) != "array")
      {
      return trim($this->aryData[$this->intIndex][$this->aryNames[strtoupper($Colonne)]]);
      }
      else
      {
      return $this->aryData[$this->intIndex][$this->aryNames[strtoupper($Colonne)]];
      }
      }
      }
      else
      {
      return "";
      }
      }
      }