Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I think your database design does not fit right here.</p> <p><strong>Cars Table</strong></p> <pre><code>id_car | name_car | etc. ---------------------------- 1 | A3 Sportback | etc. 2 | Ranger | etc. 3 | Transit Van | etc. 4 | Cayman | etc. etc. | etc. | etc. </code></pre> <p><strong>Dealer Table</strong></p> <pre><code>deal_id | deal_name | etc. --------------------------- 1 | Ford | etc. 2 | Audi | etc. 3 | Porsche | etc. etc. | etc. | </code></pre> <p><strong>Dealer to Cars Table</strong></p> <pre><code>dealerid | carid 1 | 2 1 | 3 2 | 1 etc. | etc. </code></pre> <p>As you see, I did another table for the relationships between the two tables.</p> <pre><code>$dealerships_sql = $data-&gt;query("SELECT * FROM dealerships ORDER BY deal_name ASC"); $dealers = array(); while($dealerships_obj = $data-&gt;extract($dealerships_sql)){ //Dealerships data, use object $dealerid = $dealerships_obj-&gt;deal_id; $dealers[$dealerid]['dealer'] = $dealerships_obj; // Cars $cars = array(); $car_sql = $data-&gt;query("SELECT name_car FROM cars JOIN dealerToCars ON carid = id_car JOIN dealer ON deal_id = dealerid WHERE deal_id = " . $dealerid); // now you have all cars from the selected dealer while ($cars_obj = $data-&gt;extract($car_sql)) { $cars[] = stripslashes($cars_obj-&gt;name_car); } // Assign Cars to dealer $dealers[$dealerid]['cars'] = $cars; } </code></pre> <p>Now you have in $dealers all your dealers with their cars.</p> <p>Since you are using smarty, just pass this whole array to smarty and let the rest do smarty in it's template. Smarty is able to use arrays and objects, so you don't need to split it into multiple arrays:</p> <pre><code>$smarty-&gt;assign ("dealers", $dealer); </code></pre> <p>Because I don't know your classes, you maybe need to add some getters or setters or just make the properties public, so smarty can access them:</p> <pre><code>&lt;table border="1"&gt; &lt;tr&gt; &lt;td&gt;Dealership&lt;/td&gt; &lt;td&gt;Cars&lt;/td&gt; &lt;/tr&gt; {foreach $dealers as $dealer} &lt;tr&gt; &lt;td&gt;{$dealer['dealer']-&gt;deal_name}&lt;/td&gt; &lt;td&gt;{foreach $dealer['cars'] as $car}{$car}, {/foreach}&lt;/td&gt; &lt;/tr&gt; {/foreach} &lt;/table&gt; </code></pre> <p>Maybe you need to take a look about the identifiers in the template.</p> <p>(I'm using smarty 3 for that)</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload