[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод информации в таблицу по горизонтали
argentines
Доброе время сток
я сталкнулся с той же проблемой мне необходимо вывести три ячейки в ряд горизонтально
не могу не получается дело в том что я вывожу цикл через функцию а в индексном через форич
вот код правда даже немагу догодатся куда его можно вставить
вот моя функция:

function main(){

$result = mysql_query("SELECT books.min_img, books.id_book, authors.author
FROM authors, books_to_author, books
WHERE authors.id_author = books_to_author.id_author
AND books_to_author.id_book = books.id_book"
);
if(mysql_num_rows($result)>0)
{

while($myrow = mysql_fetch_array($result))
{

$main[$myrow[id_book]] = $myrow;

}
return $main;
}
else
{
echo"<p>The inquiry about sample of the data has not selected</p>";
exit(mysql_error());
}
}


а вот форич:

$author = $_GET[id_author];
$genre = $_GET[id_genre];

if(empty($author)){
if(empty($genre))

foreach($main as $key=> $val)

{
echo"
<table width=600 height=200 >
<tr>
<td style = 'width:150px;border:1px solid gray;'><img src = '
$val[min_img]' hspace='55' vspace='8' class='img_view'><br />$val[author]</td>

</tr>
</table>"
;
}
}


подскажи как я могу вывести в форыче три ячейки в горизонте
1 | 2 | 3
4 | 5 | 6



Спустя 1 час, 18 минут, 20 секунд (2.05.2011 - 21:56) Игорь_Vasinsky написал(а):
вопрос не ясен, по этому и тишина, вы либо что то бональное спосили (и всев тупике, т.к. привыкли что мозг должен работать) либо ни кто не понял wink.gif

Спустя 36 минут, 9 секунд (2.05.2011 - 22:32) argentines написал(а):
Возможно я неправильно вырезался постараюсь объяснить,
мне нужно что бы в индексном документе через форыч
выдавился цикл из базы в таблицу но не как обычно в низ по вертекале
а по горизонтали в три ячейки допустим это картинки книг.

Этот форич выводит функцию $main (которую я прикрепил чуть выше) из базы


foreach($main as $key=> $val)

{
echo"
<table width=600 height=200 >
<tr>
<td style = 'width:150px;border:1px solid gray;'><img src = '
$val[min_img]' hspace='55' vspace='8' class='img_view'><br />$val[author]</td>

</tr>
</table>"
;

Спустя 8 минут, 23 секунды (2.05.2011 - 22:40) argentines написал(а):
Цитата (Игорь_Vasinsky @ 2.05.2011 - 18:56)
вопрос не ясен, по этому и тишина, вы либо что то бональное спосили (и всев тупике, т.к. привыкли что мозг должен работать) либо ни кто не понял wink.gif

Я извиняюсь долго не отвечали решил создать тему чтобы обратили внимания

Спустя 3 минуты, 57 секунд (2.05.2011 - 22:44) Игорь_Vasinsky написал(а):
можно наверное в SQL дописать условие WHERE `id` = n

и вся строка `id` = n у вас

Спустя 2 минуты, 28 секунд (2.05.2011 - 22:47) quickxyan написал(а):
ну вот смотри:

echo"
<table width=600 height=200 >
<tr>
<td style = 'width:150px;border:1px solid gray;'><img src = '
$val[min_img]' hspace='55' vspace='8' class='img_view'><br />$val[author]</td>

</tr>
</table>"
;
}


ты каждую ячейку засовываешь в <tr>... </tr>. после каждого закрывающегося тэга создается новый столбик.


Спустя 3 минуты, 31 секунда (2.05.2011 - 22:50) quickxyan написал(а):
как решение - можна так считить)


$x=0;
foreach($main as $key=> $val)
{
$x++;
echo"
<table width=600 height=200 >"
;
if($x==1) echo "<tr>";
echo "<td style = 'width:150px;border:1px solid gray;'><img src = '$val[min_img]' hspace='55' vspace='8' class='img_view'><br />$val[author]</td>";

if($x==3){
echo " </tr>";
$x=0;
}
echo "</table>";

Спустя 3 минуты, 38 секунд (2.05.2011 - 22:54) quickxyan написал(а):
я думаю суть понятна, что к чему)

Спустя 28 минут, 14 секунд (2.05.2011 - 23:22) argentines написал(а):
Цитата (quickxyan @ 2.05.2011 - 19:54)
я думаю суть понятна, что к чему)

да понял только мне ошибку дает

syntax error, unexpected $end in Z:\home\localhost\www\boocks\templates\index.php on line 106

буду искать Спасибо!

Спустя 6 минут, 40 секунд (2.05.2011 - 23:29) Игорь_Vasinsky написал(а):
фигурная скобка потеряна wink.gif

Спустя 2 минуты, 16 секунд (2.05.2011 - 23:31) argentines написал(а):
Цитата (quickxyan @ 2.05.2011 - 19:50)
как решение - можна так считить)


$x=0;
foreach($main as $key=> $val)
    {     
    $x++;
    echo"
    <table width=600 height=200 >"
;
    if($x==1) echo "<tr>";
    echo "<td style = 'width:150px;border:1px solid gray;'><img src = '$val[min_img]' hspace='55' vspace='8' class='img_view'><br />$val[author]</td>";
   
    if($x==3){
    echo " </tr>";
    $x=0;
    }
    echo "</table>";

ошибку я исправил но к сожалению он мне так и выводит все в один столбец

$author = $_GET[id_author];
$genre = $_GET[id_genre];
$x=0;
if(empty($author)){
if(empty($genre))


foreach($main as $key=> $val)
{
$x++;
echo"<table width=200 height=200 >";

if($x==1){ echo "<tr>";}
echo "<td style = 'width:150px;border:1px solid gray;'><img src = '$val[min_img]' hspace='55' vspace='8' class='img_view'><br />$val[author]</td>";

if($x==3){
echo " </tr>";
$x=0;
}
echo "</table>";
}
}


Спустя 5 минут, 20 секунд (2.05.2011 - 23:36) Игорь_Vasinsky написал(а):
вообще из цикла foreach вынести

<table width=200 height=200 ><tr>

и

</tr></table>

Спустя 2 часа, 30 минут, 48 секунд (3.05.2011 - 02:07) mxwuser написал(а):
     $names = array('Иванов' => 'Андрей',
'Петров' => 'Владимир',
'Сидоров' => 'Инокентий',
'Путин' => 'Володька',
'Медведев' => 'Димка',
'Тимошенко' => 'Юлька');
$table = '<table width=200 height=200><tr>';
$x = 0;

foreach($names as $key=> $val)
{
if(!($x % 3) && $x != 0) { $table .= '</tr><tr>'; }
$table .= '<td>'. $val .' '. $key .'</td>';
$x++;
}

$table .= "</tr></table>";

echo $table;

Спустя 7 часов, 28 минут, 53 секунды (3.05.2011 - 09:36) quickxyan написал(а):
точно, а я что-то и незадумался, что там не только столик каждій раз создается, а то что там таблица каждый раз новая создается

Спустя 2 часа, 41 минута, 30 секунд (3.05.2011 - 12:17) argentines написал(а):
Цитата (mxwuser @ 2.05.2011 - 23:07)
     $names = array('Иванов' => 'Андрей',
'Петров' => 'Владимир',
'Сидоров' => 'Инокентий',
'Путин' => 'Володька',
'Медведев' => 'Димка',
'Тимошенко' => 'Юлька');
$table = '<table width=200 height=200><tr>';
$x = 0;

foreach($names as $key=> $val)
{
if(!($x % 3) && $x != 0) { $table .= '</tr><tr>'; }
$table .= '<td>'. $val .' '. $key .'</td>';
$x++;
}

$table .= "</tr></table>";

echo $table;


$names = array('Иванов' => 'Андрей',
'Петров' => 'Владимир',
'Сидоров' => 'Инокентий',
'Путин' => 'Володька',
'Медведев' => 'Димка',
'Тимошенко' => 'Юлька');

интересный способ мне понравился на вот у меня массив из базы выводится
через форич переменную $main у меня в таваем случае выводит только название(текст)записи ячейки из базы например ./min_img/1.jpg а не саму картинку.

Спустя 36 минут, 6 секунд (3.05.2011 - 12:54) mxwuser написал(а):
Всмысле текст вместо картинки?

echo '<img src ="'. $val['min'] .'" hspace="55" vspace="8" class="img_view"><br />';

Вот такое мне выводит картинку

Спустя 1 час, 50 минут, 29 секунд (3.05.2011 - 14:44) argentines написал(а):
Ребята большое спасибо у меня все получилось,спасибо что отозвались на помощь. smile.gif

Спустя 30 минут, 35 секунд (3.05.2011 - 15:15) argentines написал(а):
Цитата (mxwuser @ 3.05.2011 - 09:54)
Всмысле текст вместо картинки?

echo '<img src ="'. $val['min'] .'" hspace="55" vspace="8" class="img_view"><br />';

Вот такое мне выводит картинку

Единственное если тебе не тяжело мог бы мне разяснить вот это

if(!($x % 3) && $x != 0)

я начинающий
программист :) вобщем начинающий чайник ;)

понятно что ты делаешь счетчик в цикле прибавляешь одно значения но
вот что обозначает это?

!($x % 3) && $x != 0)

что обозначает % ? можешь расписать?

Спустя 4 часа, 55 минут, 56 секунд (3.05.2011 - 20:11) mxwuser написал(а):
if(!($x % 3) && $x != 0)


Это условие означает: если переменная x, кратна трем(3, 6, 9, 12 и т.д, то что тебе нужно как я понял), И(&&) не равна нулю(почему-то 0 считает кратным 3 тоже)

Спустя 13 минут, 41 секунда (3.05.2011 - 20:24) argentines написал(а):
Цитата (mxwuser @ 3.05.2011 - 17:11)
if(!($x % 3) && $x != 0)


Это условие означает: если переменная x, кратна трем(3, 6, 9, 12 и т.д, то что тебе нужно как я понял), И(&&) не равна нулю(почему-то 0 считает кратным 3 тоже)

Ну вот теперь все ясно еще раз спасибо! smile.gif

Спустя 22 минуты, 35 секунд (3.05.2011 - 20:47) quickxyan написал(а):

!($x % 3)


если быть точным, то знак процента в с-подобных языках возвращает остачу от деления и если результат 0, то число кратное делителю

Спустя 5 минут, 37 секунд (3.05.2011 - 20:52) mxwuser написал(а):
Это объясняет почему 0 кратно 3

Спустя 2 минуты, 31 секунда (3.05.2011 - 20:55) quickxyan написал(а):
та ноль кратный всем числам))) ну я думаю кратное тут как-то не звучит. наверное как-то по другому называется)
Быстрый ответ:

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