A voir également:
- Notice: Undefined offset: 10
- Notice d'utilisation - Guide
- Notice chromecast - Guide
- Homday x-pert écouteur bluetooth notice ✓ - Forum Casque et écouteurs
- Vélo appartement care ancien modèle notice ✓ - Forum Loisirs / Divertissements
- Uleway g381 notice ✓ - Forum Samsung
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
26 févr. 2007 à 17:45
26 févr. 2007 à 17:45
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
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
(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 "";
}
}
}
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 "";
}
}
}