Для начала это действительно не специфичный для CodeIgniter. У меня возникли проблемы с пониманием идеи, поэтому любой, кто знает PHP/SQL (или что бы то ни было моя проблема), может зайти.Показать альбом с фотографиями (PHP)
У меня есть 2 стола, «Фото» и «Альбом».
Album columns : ID TITLE USER_ID CREATED MODIFIED
Photo columns : ID ALBUM_ID TITLE LOC CREATED MODIFIED
Я использую запрос
$this->db->select('*');
$this->db->from('album');
$this->db->join('photo', 'album.id = photo.album_id');
$this->db->limit(10);
return $this->db->get();
, который я думаю, что выливается в
SELECT * FROM album JOIN photo ON album.id = photo.album_id LIMIT 10;
В любом случае, что я не понимаю, как отобразить каждый альбом с фотографиями связанных ,
Так что-то вроде ...
<div class="album">
<img src="image1" />
<img src="image2" />
</div>
<div class="album">
<img src="image3" />
</div>
В принципе, как я «эхо» из правильных альбомов и их относительных изображений? Насколько я могу судить, цикл foreach просто собирается выписать каждое изображение без различия между тем, к какому альбому принадлежит изображение.
Должен ли я использовать JOIN-запрос?
UPDATE:
Вау, хорошо Тильман, вы профессионал. Большое спасибо за помощь. Для других, ссылающихся на это, убедитесь, что вы изменили «id» в $ array [$ row ['id']] [] = $ row; независимо от вашего идентификатора альбома. В моем случае его album_id. Мое заключительное заявление о соединении было переписыванием id с помощью album_id.
Попробуйте этот запрос в своей базе данных вручную (скажем, с помощью phpMyAdmin или Mysql Query Browser, если он доступен) и посмотрите, как выглядят результирующие строки. Это даст вам хорошую идею о том, как обрабатывать их в петле php. – Fanis
Я сделал, прежде чем я разместил вопрос. Запрос хорошо работает в phpMyAdmin – Elxx