Hi!
I've been struggling for a while with this one; I'll try to explain it here as simply as possible.
Consider this MySQL table:
+----------+-----------+---------+--------+
|status_id |session_id |pilot_id |present |
+----------+-----------+---------+--------+
|1 |61 |901 |1 |
|2 |63 |901 |1 |
|3 |62 |901 |0 |
|4 |62 |902 |1 |
|5 |63 |903 |1 |
+----------+-----------+---------+--------+
Both session_id
and pilot_id
are foreign keys making reference to a primary key in another table. The same pilot_id
can be associated with different session_id
, but every pilot_id
-session_id
combination is unique.
I need to make an HTML table (in PHP) that would display the data like this:
+----------+---------+---------+---------+
| |61 |62 |63 |
+----------+---------+---------+---------+
|901 |X | |X |
|902 | |X | |
|903 | | |X |
+----------+---------+---------+---------+
Hence, rows are pilot_id
and columns are session_id
. When a pilot_id
-session_id
combination has a present
value of 1, the corresponding cell should be checked. (ie. when the row-combination is zero or the combination does not exist in the MySQL table, nothing should appear in the HTML table)
Phew.
Any ideas?
Thanks!
I've tried the answer proposed by erisco, but I'm quite confused. (the comment field is much too small for my explanation, hence this update to my question).
This is the actual data I am working with:
+----------+-----------+---------+--------+
|status_id |session_id |pilot_id |present |
+----------+-----------+---------+--------+
|7 |65 |33 |1 |
|8 |66 |33 |1 |
|9 |65 |17 |0 |
|10 |66 |16 |1 |
+----------+-----------+---------+--------+
I use $rows = mysqli_fetch_array($result);
. I have confirmed the query is returning the right data.
However, when I use the answer proposed by ericso, I am getting seemingly arbitrary data. Here's the generated HTML table:
+----------+---------+---------+---------+---------+
| |1 |3 |6 |7 |
+----------+---------+---------+---------+---------+
|1 |X | | | |
|3 | | | | |
|6 | | | | |
|7 | | | | |
+----------+---------+---------+---------+---------+
Furthermore the 'X' position stays the same irrelevantly of present
values.
Any ideas why this is happening?
Thanks!