2010-06-08 5 views
0

J'essaie d'afficher les résultats d'une base de données où les résultats sont contenus dans trois tableaux. Comment puis-je faire écho aux résultats?Affichage de données à partir de plusieurs tableaux avec codeigniter

$ p-> fonctionne, mais $ img-> ou $ branch-> ne fonctionne pas. Qu'est-ce que je fais mal?

code de l'exemple ci-dessous est

contrôleur de l'échantillon:

$ p_id = $ this-> uri-> segment (3);

$ this-> load-> model ('One_model');
$ data ['prop'] = $ this-> One_model-> get_details ($ p_id);
$ data ['img'] = $ this-> One-> get_images ($ p_id);

$ this-> load-> model ('Two_model');
$ data ['branch'] = $ this-> Two_model-> get_details ($ p_id);

$ this-> load-> view ('a_test_view', $ data);

A Voir un exemple

<?php foreach ($property as $p):?>
<p><?php echo $p->SUMMARY; ?></p>
<p>We have <?php echo "$img->num_photos"; ?> photos</p>
<p>Branch is <?php echo $branch->name; ?>. Telephone <?php echo $branch->tel; ?></p>
<ul>
<li><?php echo $p->FEATURE1; ?></li>
<li><?php echo $p->FEATURE2; ?></li>
<li><?php echo $p->FEATURE3; ?></li>
<li><?php echo $p->FEATURE4; ?></li>
<li><?php echo $p->FEATURE5; ?></li>
<li><?php echo $p->FEATURE6; ?></li>
<li><?php echo $p->FEATURE7; ?></li>
<li><?php echo $p->FEATURE8; ?></li>
<li><?php echo $p->FEATURE9; ?></li>
<li><?php echo $p->FEATURE10; ?></li>
</ul>
<?php endforeach; ?>

Répondre

0

Vous savez que vous pouvez modifier votre question origonal :)

Une jointure fonctionnerait bien dans cette situation aussi.

$this->db->from('property'); 
$this->db->join('branch', 'branch.id = property.pid'); 
$this->db->where('property.pid ==', $p_id); 

Si vous avez besoin d'aide avec la requête particulière, vous pouvez modifier votre question et d'ajouter que et donner plus de détails sur ce que vos modèles font.

Je suis sûr que vous pouvez faire cela en une seule fonction dans le modèle.

+0

Vive Kieran, je pensais que ma première question était mal formulée, mais ne pourrais pas trouver un moyen de le modifier :) Merci pour votre aide, je vais essayer ce qui précède –

0

Si $branch et $img sont à la fois (je suppose) eux-mêmes des tableaux et que vous voulez accéder au numéro de téléphone de la succursale, vous aurez besoin de faire $branch[0]->tel pour accéder au premier élément du tableau.

De même, si vous voulez compter combien d'images il y a vous devez faire count($img)