I have a query which shows all images from a user. (In this case the user_id = 3.)
I want to return the results of the query and display near the user record, a static picture which I have uploaded. This picture is a small icon.
Here is my sql query:
$sql = "SELECT username as user, p.image as user_image, i.image, i.id as image_id, i.description as text, UNIX_TIMESTAMP(i.date) as image_date, COALESCE ( imgcount.cnt, 0 ) as comments
FROM users u
LEFT JOIN images i ON i.user_id = u.id
LEFT JOIN images p ON p.id = (SELECT b.id FROM images AS b where u.id = b.user_id ORDER BY b.id DESC LIMIT 1)
LEFT JOIN (SELECT image_id, COUNT(*) as cnt FROM commentaries GROUP BY image_id ) imgcount ON i.id = imgcount.image_id
WHERE i.user_id = 3
ORDER BY i.date DESC";
And here are the results:
[images_list] => Array
(
[0] => Array
(
[user] => 3333
[user_image] => http://127.0.0.1/auth_system_1/upload_images/24/24_nsm5rixy14lexm9cy15wzyg9u_224.jpg
[image] => http://127.0.0.1/auth_system_1/upload_images/224/224_nsm5rixy14lexm9cy15wzyg9u_224.jpg
[image_id] => 5
[text] =>
[image_date] => 7 hours, 1 minute
[comments] => 2
)
[1] => Array
(
[user] => 3333
[user_image] => http://127.0.0.1/auth_system_1/upload_images/24/24_nsm5rixy14lexm9cy15wzyg9u_224.jpg
[image] => http://127.0.0.1/auth_system_1/upload_images/224/224_gfbyjh6zf66g914e28bsfdkuf_f4d.jpg
[image_id] => 3
[text] =>
[image_date] => 20 hours, 50 minutes
[comments] => 0
)
[2] => Array
(
[user] => 3333
[user_image] => http://127.0.0.1/auth_system_1/upload_images/24/24_nsm5rixy14lexm9cy15wzyg9u_224.jpg
[image] => http://127.0.0.1/auth_system_1/upload_images/224/224_80jrg3z0xrh9isskc3yuhtqh1_163.jpeg
[image_id] => 1
[text] => test1
[image_date] => 1 day, 22 hours
[comments] => 0
)
)
I do not have any idea how to place a small icon near the first image that is returned from the query. If I had one more field with a 1 indicating it is the first record, or a 1 indicating it is not the first record, I think I could do what I want.
By the way, the fields of my images table are as follows:
- id
- user_id
- image
- date
Is it possible to add one more field to the query, which will indicate with a 1 or 0 whether or not it is the latest record in the result set when sorting by date?
Maybe you can show me an easier way to do this?
isFirstin your PHP code and modify it while you loop through the result set. If you had posted the code where you parse the SQL result I'd have been able to post a more specific answer.