execute + Fetch + fetchAll => optimisation
Bonjour,
En fait je souhaite obtenir en résultat d'un SELECT le nom des colonnes et les données qui s'en suit et ceux au travers de 2 fonctions bien distinctes.
Actuellement j'ai ca :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| function nomdecolonnes($result){
$entete = array();
$data = array();
$arrayObj = new ArrayObject($data);
foreach($result as $key=>$val)
{
array_push($entete,$key);
array_push($data,$val);
}
$arrayObj->append($entete);
$arrayObj->append($data);
return $arrayObj;
}
function donnees($result, $arrayObj){
foreach($result as $key=>$val)
{
$arrayObj->append($val);
}
return $arrayObj;
}
function query_cl($zone, $equipement)
{
$coderegion = self::$coderegion;
$array = array();
$arrayObj = new ArrayObject($array);
$sql = 'Select EqtNom from vListeEquipementsInfo
WHERE CodeRegion= ? AND Zone= ? AND EqtNom LIKE ?';
$select= self::$connexion->prepare($sql);
$equipement = '%'.$equipement.'%';
$select->execute(array($coderegion,$zone,$equipement));
$result = $select->fetch(PDO::FETCH_OBJ);
$arrayObj = nomdecolonnes($result);
$result = $select->fetchAll(PDO::FETCH_OBJ);
$arrayObj = donnees($result, $arrayObj);
return $arrayObj;
} |
Comme on peut le voir je suis obligé de récupérer une partie des données dans ma fonction de nomdecolonnes. ( ceci a cause du fetchAll qui commence à récupérer les données après la 1er ligne ( récupérée par le fetch)).
Comment essayer de jouer sur les fetch ou ailleur pour résoudre ce petit désagrément.
merci