За последние 24 часа нас посетили 21072 программиста и 1623 робота. Сейчас ищет 1491 программист ...

Вывод изображений как на авто сайте

Тема в разделе "PHP и базы данных", создана пользователем egor009, 22 мар 2010.

  1. egor009

    egor009 Активный пользователь

    С нами с:
    22 мар 2010
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте!
    У меня есть БД объявлений о продаже автомобилей. Фотографии находятся на сайте. В БД путь к фотографиям, например в поле image запись "files/1234.jpg".

    Помогите пожалуйста, как выводить изображения также как тут?

    Кстати, на сайте у меня такой код:
    PHP:
    1. <?php printf ("<img src='%s'/>", $myrow["image"]); ?>
    А в БД поле image получаеться написать только одну ссылку на файл, например "files/1234.jpg"

    Извините за может быть тупость, но просто я новичок в этом :) [/php]
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Во-первых, там не последнюю роль играет яваскрипт, он же и выводит (отображает) фото в нужном порядке - в колонку, по ширине, по горизонтали и т.д. Но для этого просмотрщика нужно передать все пути на файлы-картинки. Готовых смотрелок для фото (фотогалереи) достаточно на просторах интернета, выбирай любой.
    Во-вторых, нужно правильно организовать взаимосвязь таблиц в твоей базе. Как понимаю у тебя это так - одно обьявление (одна тачка), одна фотка для нее. Это все занимает одну запись в некоторой таблице. Так сгодиться если тебе нужно всего одну фотку (путь) сохранять. Если ты хочешь чтоб было чтоб не ограничено было фоток на одно авто делаешь так: создаешь дополнительную таблицу, например, auto_image (id, car_id, img). И вот при загрузке фоток (если через веб-интерфейс, с сайта то есть) циклом нужно вносить в базу в эту таблицу по одной фотке. В итоге в таблице auto_image будет столько, сколько нужно фотографий (путей к ним) и привязка всех к одному конкретному авто (обьявлению) по полю car_id. Примерно так:
    id___ car_id ___ img
    1_____33_____img/dafafawe.jpg
    2_____33_____img/dafdafawe.jpg
    3_____33_____img/dadfe.jpg

    А когда нужно вывести то выводишь примерно таким запросом "SELECT * FROM `auto_image` WHERE `car_id` = 33"
    и строишь табличку (если просто все вывести) либо же это все в массив для той фотогалереи.

    И про print_f забудь. Он не для того был нам дан свыше :D (используй echo или print)
     
  3. egor009

    egor009 Активный пользователь

    С нами с:
    22 мар 2010
    Сообщения:
    3
    Симпатии:
    0
    Спасибо большое! Вы мне очень помогли!

    Обязательно попробую!

    Я вам очень благодарен!
     
  4. egor009

    egor009 Активный пользователь

    С нами с:
    22 мар 2010
    Сообщения:
    3
    Симпатии:
    0
    Извините, но чтобы хотя бы просто вывести на сайте изображения, я пишу
    PHP:
    1. <img src= "<?php echo $myrow2["image"] ?>" ?> />
    и оно выводит только одно изображение.
    А как сделать это все массивом - тоже не понимаю.
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    циклом, видимо
     
  6. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    egor009
    $myrow = mysql_query("SELECT * FROM `auto_image` WHERE ...");

    while($myrow2 = mysql_fetch_assoc($myrow))
    {
    echo '<img src="http://site.com/img/'.$myrow2['image'].'"><br>';
    }