[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод данных в цикл
PHP_beginner
Уважаемые форумчане, помогите, пожалуйста.
Нужно выводить в цикле по две фото в одной строчке в следующем формате:
<table>
<tr>
<td> Фото 1 </td> <td> Фото 2 </td>
</tr>
<tr>
<td> Фото 3 </td> <td> Фото 4 </td>
</tr>
<tr>
<td> Фото 5</td> <td> Фото 6</td>
</tr>
... и т.д.
</table>

Я частично сделал, но не совсем верно. Здесь выводит по одной фотографии, а мне нужно, чтобы выводило по две.
Подскажите, плиз. Я новичок и мне еще ​​трудно с этим всем разобраться ..

<?php
$result2 = mysql_query ("SELECT * FROM photo",$db);
$myrow2 = mysql_fetch_array ($result2);
do {
printf ("
<tr width=200px>
<td width='50px' >
<span class='PhotoComment'> <a href='view_cat?id=%s'> Категория</a></span>
<div style='background:url('') repeat-y; width:270px; height:200px; margin-top:10px;'></div>
<div style='width:250px; height:180px; margin-top:-200px; margin-bottom:20px; border:#000000 solid 1px;'>
<img src='%s' border='0' height='180' width='250'>
</div>
<div id='PhotoRComent'>%s</div>
<div id='PhotoDate'>%s</div>
</td>
</tr>", $myrow2["cat"], $myrow2["image"], $myrow2["title"], $myrow2["date"]);
}
while ($myrow2 = mysql_fetch_array ($result2));
?>
Игорь_Vasinsky
Добро пожаловать.
попробуйте
$result2 = mysql_query ("SELECT * FROM photo",$db);

if(mysql_num_rows($result2) == 0){
echo 'Картинок нет (((';
}
else{
echo '<table></tr>';
$i=0;
while($myrow2 = mysql_fetch_assoc($result2)){
$i++;
if($i%2 == 0)
echo '</tr><tr>';

echo '<td>' .$myrow2['image']. '</td>';
}

echo '</tr></table>';
}


Парочка советов:
1) mysql - устарел - используйте mysqli или PDO
2) цикл do while - здесь смотрится - как у собаки 5я нога - используйте просто while()

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
Игорь_Vasinsky
Мне это все напоминает сцену из "Человек с бульвара Капуцинов".
Там где "Вот Ваш бифштекс, сссссссэр" biggrin.gif


_____________
[продано копирайтерам]
PHP_beginner
Не то.
Выводит ссылку на фото, а не само фото и выводит в таком формате: 1-2-1.
А нужно по два фото, затем переход на вторую строчку, вновь два фото и т.д.
Игорь_Vasinsky
аа.. ну так это нужно распечатку массива видеть


$result2 = mysql_query ("SELECT * FROM photo",$db);

$myrow2 = mysql_fetch_assoc($result2)

echo '<pre>' . print_r($myrow2, 1) . '</pre>';


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
inpost
<div style="float:left; width:45%; height:100px;">Тут фото</div>
Будут по 2 в ряд.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PHP_beginner
Array
(
[id] => 1
[cat] => 1
[title] => Название фото
[date] => 0000-00-00
[image] => http:// ... /photo/img/0835.jpg
)
PHP_beginner
Так вы поможете или нет??
Игорь_Vasinsky
это же не полный массив, запрос вернёт двумерный массив - покажите часть этого массива

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
PHP_beginner
А как мне это показать?
PHP_beginner
Есть таблица photo с полями: id, cat. title, date, image. В поле image указанный адрес фото. Нужно выводить в цикле по две фото в одной строчке.
Вот пример (рис. 2) http://htmlbook.ru/faq/kak-razmestit-nesko...-po-gorizontali
inpost
Я не понимаю, чем тебе мой вариант с float не подошел...

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
ZeBot
Цитата (PHP_beginner @ 5.05.2014 - 18:10)
Есть таблица photo с полями: id, cat. title, date, image. В поле image указанный адрес фото. Нужно выводить в цикле по две фото в одной строчке.
Вот пример (рис. 2) http://htmlbook.ru/faq/kak-razmestit-nesko...-po-gorizontali

Все же описано, тебе нужно только скрепить полученную информацию в таком формате котором ты хочешь. Используй свое воображение для реализации.

Вот ты привел пример http://htmlbook.ru/faq/kak-razmestit-nesko...-po-gorizontali
Тебе полностью дан html код. В верхнем посту логику к получению твоих картинок. ( mysql устарел, используй PDO либо другие варианты, mysqli например )

Что тебе остается сделать, это прописать все свои картинки в
<p class="thumb">
</p>

Как только ты сам начнешь продвигать и осваивать свой код, ты поймешь больше чем кто либо изложит это тебе на блюдечке. Читай, тыкайся, ищи решение. Скрепи этих два куска САМ.

Вот тебе ултиматум:
    1. Сделай вывод 1 картинки просто через html
    2. Сделай вывод x картинок через цикл из базы, используй foreach или for
    3. Отредактируй свой html и css так что-бы картинки были по 2 на ряд. Я бы предложил это все запихнуть в <div> контейнер вместо <p class="thumb"> и ограничить его по ширине в 250 пикселей. А на картинку 120 по ширине пикселей, как в примере. По идеи таким образом оно должно перекидывать последующие картинки которые не помещаются в 250 пикселей. Так как 120*3 = 360 пикселей. Третья не влезает.
Бонус:
В PHP существует функция var_dump(значение). Которая отобразит тебе любую информацию в переменой.

NiceDump($result2);

function NiceDump($var) {
echo "<pre>";
var_dump($var);
echo "</pre>";
}

Рекомендуется не использовать символ (*) в запросе к базе. Слишком сильно грузит. Запрашивай только нужную информацию, как и в каком количестве.
SELECT `title`,`image` FROM photo;


Кстати inpost предлагает интересное решение. Если владеешь английским, можешь почитать url1, url2 (всего лишь примеры). В интернете в принципе этого добра навалом. ;)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.