Bonjour,
Je suis en train de développer un site web, en PHP/HTML5.
Je solicite votre aide car je n'arrive pas à créer une méthode qui, après avoir exécuté une requête MySQL (curceur) me retournerais un tableau d'objets.
En gros, chaque ligne de retour de mon curseur alimenterais tout les attributs de chaque élément d'un tableau d'objet.
Je voudrais le résultat sous la forme si possible :
$array[obj1][obj1->attrib1];
$array[obj1][obj1->attrib2];
$array[obj2][obj2->attrib1];
$array[obj2][obj2->attrib2];
A votre avis, c'est le plus judicieux?
Voilà ce que j'ai codé pour l'instant (c'est incomplet):
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
| // Methode selection de bien par type (Immeuble, Ville, ...)
function Select_Type_biens($Type)
{
// instanciation de l'obj type C_bien de valeur retour
$bien = array(new C_bien());
// Requête SQL
$sql = 'SELECT
Bien.id, Bien.Titre_bien, Bien.Reference_bien, Type.Type_bien,
Bien.Description_bien, Bien.Prix_bien, Bien.Ordre_apparition_bien
FROM bien Bien, type_bien Type
WHERE
Type.Type_bien = '."'".$Type."'".
'AND Type.id = Bien.id_Type_bien;';
// On envoie la requête
$resultat = mysql_query($sql) or die($resultat= $sql.'<br>'.mysql_error().'<br>'.$req);
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($resultat))
{
// on memorise les informations de l'enregistrement en cours
$bien->id = $data['id'];
$bien->Titre_bien = $data['Titre_bien'];
$bien->Description_bien = $data['Description_bien'];
$bien->Prix_bien = $data['Prix_bien'];
$bien->Ordre_apparition_bien = $data['Ordre_apparition_bien'];
$bien->Reference_bien = $data['Reference_bien'];
}
// retourne le résultat sous forme de Tab[][]
return $bien;
}
}
Class C_bien
{
var $id;
var $Titre_bien;
var $id_Type_bien;
var $Description_bien;
var $Prix_bien;
var $Ordre_apparition_bien;
var $Reference_bien;
} |
----------------------------------------------------
Fichier : Index.PHP
1 2 3 4 5 6 7
| <?php
$bdd = new C_bdd('localhost', 'root', '');
$resultat = new C_bien();
$resultat = $bdd->Select_Type_biens('Studio');
?> |
Merci par avance!
Partager