Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>My guess is that you're looping through <code>$queues</code> with <code>foreach</code> loop like this:</p> <pre><code>foreach ( $queues as $queue ) { $result = mysql_query($query); if ($result){ $num_people = mysql_fetch_row($result); $queue['people'] = $num_people[0]; } } </code></pre> <p>If so, there's no "link" between <code>$queue</code> and <code>$queues[$n]</code>, i.e., by modifying <code>$queue</code>, you do NOT modify <code>$queues</code>.</p> <p>If this is the case, you should either use <code>$queue</code> as reference variable, or modify <code>$queues[$n]</code> with <code>$n</code> being an index.</p> <pre><code>foreach ( $queues as &amp;$queue ) { // add &amp; so $queue is a reference to an element in $queues $result = mysql_query($query); if ($result){ $num_people = mysql_fetch_row($result); $queue['people'] = $num_people[0]; } } unset($queue); // drop the reference, otherwise you might have unexpected results after modifying $queue outside the loop </code></pre> <p>... or ...</p> <pre><code>foreach ( $queues as $n =&gt; $queue ) { // store index of "current" element in $n $result = mysql_query($query); if ($result){ $num_people = mysql_fetch_row($result); $queues[$n]['people'] = $num_people[0]; // change $queue to $queues[$n] } } </code></pre> <hr> <p>Alternatively, I would advise you to think about getting all data in a single statement. It looks like something like this might work for you:</p> <pre><code>select baseTable.id, baseTable.idClient, baseTable.name, peopleCount.count as people from baseTable left join ( select count(*) as count, queue from peoplequeued group by queue ) as peopleCount on peopleCount.queue = baseTable.name </code></pre>
 

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