Rechercher : dans
Par :

Notice: Undefined offset: 10

Dernière réponse le 26 fév 2007 à 17:50:29 David, le 26 fév 2007 à 17:21:44 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Notice: Undefined offset: 10 » dans :
[PHP] Notice: Undefined index: Voir Si vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Trouver une notice ou un mode d'emploi VoirSi vous ne possédez plus la notice d'emploi de vos matériels et périphériques ou de vos logiciels, quelques sites vous aideront peut-être dans votre recherche : Services gratuits Service payant Quelques sites de constructeurs Services...
[Windows] Désinstaller Windows Media Player 9, 10 ou 11 VoirLe lecteur Windows Media Player (WMP) est particulièrement difficile à supprimer car il s'agit d'un composant intégré au système d'exploitation Windows. Désinstallation de Windows Media Player 10 ou 11 Désinstallation de Windows Media Player...
Désinstaller proprement Bit Defender 9 et 10 VoirPour désinstaller complètement Bit Defender 9, aller sur le site du fabriquant pour télécharger leur outil de désinstallation. Pour la version 10, suivre le lien suivant.

1

Reivax962, le 26 fév 2007 à 17:45:11

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

Répondre à Reivax962

2

 David, le 26 fév 2007 à 17:50:29

(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 "";
}
}
}

Répondre à David