Вывод картинок по колонкам таблицы

Статус
В этой теме нельзя размещать новые ответы.

phpforum

Новичок
У меня похожая задача помогите осуществить это а то у меня не получается, и если можно в коде который вы напишите сделайте комментарии что к чему, чтобы я наконец то разобрался.Вот моя задача.
Принцип действия, скрипт открывает каталог,считывает все имеющиеся файлы в массив, затем выводит на страницу деля картинки по 3 штуки на строку таблицы.
А вот решение а я осуществить не могу:
Встраивайте в цикл вывода счетчик, предварительно задав ему начальное значение 1. В теле цикла do делите его значение на 3 и если результат целое число, выводите соответствующие тэги, для примера <br>. Перед закрытием тела цикла повышаете значение счетчика на 1.
 

DiMA

php.spb.ru
Команда форума
вопрос к пхп не имеет отношения
пошевели опилками и попробуй, хотя бы, таблицу умножения нарисовать, для чего понадобиться использовать цикл и еще один, вложенный в него
 

Фанат

oncle terrible
Команда форума
только делить ничего не надо. вполне достаточно просто сравнивать с 3 и сбрасывать обратно в ноль. это просто и доступно
 

phpforum

Новичок
*****, нет только до двух умею. ***** и DiMA я понимаю что вы давно занимаетесь Php и для вас это легко но я новичек и поэтому вот это не получается а так сайт сделал.
Вот мой код, хотя че то я совсем запутался.

$result = mysql_query ("SELECT id,title,date,mini_img,view FROM data WHERE cat='$cat'", $db); /*это я вытаскиваю из базы*/
if (!$result) /*если нет данных в $result*/
{echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору. <br> <strong>Код ошибки:</strong> </p>"; exit (mysql_error());}

if (mysql_num_rows($result) > 0)
{

$myrow = mysql_fetch_array($result);
$i = 1;

do
{

$i = $i / 3;
$i > 0;

printf ("<table align='center' class='post'>
<tr>
<td >
<p class='post_name'><a href='view_post.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата добавления: %s <img align='center' src='%s' ></p>
<p class='post_view'> Просмотров: %s</p></td>
</tr>
</table>",$myrow["id"], $myrow["title"], $myrow["date"], $myrow["mini_img"], $myrow["view"]);

}

while ($myrow = mysql_fetch_array($result) );
{$i++;}

}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей. </p>";
exit();
}

Буду очень благодарен кто поможет а не тот кто просто будет говорить что легко.
 

phpforum

Новичок
while ($myrow = mysql_fetch_array($result) ); - это выводить в массиве
{$i++;} - это увеличивать каждый раз счетчик на один
 

Фанат

oncle terrible
Команда форума
дело не в стаже работы с пхп, а в том, что ты не хочешь сделать простую вещь, которую легко можешь проделать в жизни. то есть не хочешь думать

для начала приведи здесь код, который выводит все картинки в одну строчку. судя по всему, ты даже этого не можешь, и с этого надо начинать

-~{}~ 23.01.09 17:39:

{$i++;} - это увеличивать каждый раз счетчик на один
каждый раз чего?
 

phpforum

Новичок
{$i++;} - это увеличивать каждый раз счетчик на один после того как вывелся один раз массив в три файла.
фатан, вот код в одну строчку.
$result = mysql_query ("SELECT id,title,date,mini_img,view FROM data WHERE cat='$cat'", $db);
if (!$result)
{echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору [email protected] . <br> <strong>Код ошибки:</strong> </p>";
exit (mysql_error());}
if (mysql_num_rows($result) > 0)
{$myrow = mysql_fetch_array($result);
do
{
printf ("<table align='left' class='post'>
<tr>
<td >
<p class='post_name'><a href='view_post.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата добавления: %s <img align='center' src='%s' ></p>
<p class='post_view'> Просмотров: %s</p></td>
</tr>
</table>",$myrow["id"], $myrow["title"], $myrow["date"], $myrow["mini_img"], $myrow["view"]);}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей. </p>";
exit();
}
 

Фанат

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

какой html код ты хочешь получить?

-~{}~ 23.01.09 17:48:

{$i++;} - это увеличивать каждый раз счетчик на один после того как вывелся один раз массив в три файла.
а где у тебя выводится массив в три файла? я не вижу никакого массива. я даже не вижу, чтобы этот счетчик увеличивался после того, когда выводится один файл.
 

phpforum

Новичок
ну это не картинка а файл, в этой табличке данные о нем.
Я хочу что бы было вот так:
файл файл файл
файл файл файл
и так далее. Просто не знаю как осуществить.
Вот я и не знаю как выводить массив в три файла, если можешь исправь код.
 

Фанат

oncle terrible
Команда форума
для начала два замечания.
во-первых, конструкцию do - while удобнее заменить на while
во-вторых, всегда в программе надо использовать отступы, чтобы видеть, какой участок кода в каком блоке выполняется
в-третьих, на форуме надо пользоваться тегом [php ]
PHP:
$result = mysql_query ("SELECT id,title,date,mini_img,view  FROM data WHERE cat='$cat'", $db);
if (!$result) {
  echo "<p>Запрос на выборку данных из базы не прошел.";
  exit ();
}
if (mysql_num_rows($result) > 0) {
  while ($myrow = mysql_fetch_array($result)){
  printf ("<table align='left'  class='post'>
<tr>
<td >
<p class='post_name'><a href='view_post.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата добавления: %s <img align='center' src='%s' ></p>
<p class='post_view'> Просмотров: %s</p></td>
</tr>
</table>",$myrow["id"], $myrow["title"], $myrow["date"], $myrow["mini_img"], $myrow["view"]);}
}
else {
  echo "<p>в таблице нет записей.  </p>";
  exit();
}
 

phpforum

Новичок
это я понял но как сделать чтобы по три в строке, фанат спасибо что помогаешь
 

Фанат

oncle terrible
Команда форума
если можешь исправь код.
значит так. давай сразу определимся.
"исправь код" тебе здесь никто не будет. можешь даже больше об этом и не вспоминать.

вывести в три колонки очень просто. для этого надо только понять, чего ты хочешь. вот этим мы и займемся. если тебя это не устраивает - скажи об этом разу.

Я хочу что бы было вот так:
файл файл файл
файл файл файл
прочти еще раз внимательно пой вопрос
какой html код ты хочешь получить?
ты в состоянии ответить на этот вопрос?
 

phpforum

Новичок
я ниже написал код одной строки этого вида

файл файл файл
файл файл файл
 

phpforum

Новичок
dimaqolov, умею. Вот
<table width="100%" border="0">
<tr>
<td> <p class='post_name'><a href='view_post.php?id=1'>Файл1</a></p>
<p class='post_adds'>Дата добавления: 2009-01-10 <img align='center' src=files/100109/file1/file1.gif' ></p>
<p class='post_view'> Просмотров: 5</p></td>

<td><p class='post_name'><a href='view_post.php?id=2'>Файл2</a></p>
<p class='post_adds'>Дата добавления: 2009-01-10 <img align='center' src='files/100109/file2/file2.gif' ></p>
<p class='post_view'> Просмотров: 5</p></td>

<td><p class='post_name'><a href='view_post.php?id=3'>Файл3</a></p>
<p class='post_adds'>Дата добавления: 2009-01-10 <img align='center' src='files/100109/file3/file3.gif' ></p>
<p class='post_view'> Просмотров: 5</p></td>
</tr>
</table>
 

Фанат

oncle terrible
Команда форума
допустим, у тебя в базе ровно три записи.
ты можешь написать код, который из этих трех записей получит такой html, который ты здесь нарисовал? никакого деления на колонки - просто выводим все что есть.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху