я сталкнулся с той же проблемой мне необходимо вывести три ячейки в ряд горизонтально
не могу не получается дело в том что я вывожу цикл через функцию а в индексном через форич
вот код правда даже немагу догодатся куда его можно вставить
вот моя функция:
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 написал(а):
вопрос не ясен, по этому и тишина, вы либо что то бональное спосили (и всев тупике, т.к. привыкли что мозг должен работать) либо ни кто не понял

Спустя 36 минут, 9 секунд (2.05.2011 - 22:32) argentines написал(а):
Возможно я неправильно вырезался постараюсь объяснить,
мне нужно что бы в индексном документе через форыч
выдавился цикл из базы в таблицу но не как обычно в низ по вертекале
а по горизонтали в три ячейки допустим это картинки книг.
Этот форич выводит функцию $main (которую я прикрепил чуть выше) из базы
мне нужно что бы в индексном документе через форыч
выдавился цикл из базы в таблицу но не как обычно в низ по вертекале
а по горизонтали в три ячейки допустим это картинки книг.
Этот форич выводит функцию $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) |
вопрос не ясен, по этому и тишина, вы либо что то бональное спосили (и всев тупике, т.к. привыкли что мозг должен работать) либо ни кто не понял ![]() |
Я извиняюсь долго не отвечали решил создать тему чтобы обратили внимания
Спустя 3 минуты, 57 секунд (2.05.2011 - 22:44) Игорь_Vasinsky написал(а):
можно наверное в SQL дописать условие WHERE `id` = n
и вся строка `id` = n у вас
и вся строка `id` = n у вас
Спустя 2 минуты, 28 секунд (2.05.2011 - 22:47) quickxyan написал(а):
ну вот смотри:
ты каждую ячейку засовываешь в <tr>... </tr>. после каждого закрывающегося тэга создается новый столбик.
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 написал(а):
фигурная скобка потеряна

Спустя 2 минуты, 16 секунд (2.05.2011 - 23:31) argentines написал(а):
Цитата (quickxyan @ 2.05.2011 - 19:50) |
как решение - можна так считить)
|
ошибку я исправил но к сожалению он мне так и выводит все в один столбец
$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>
<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('Иванов' => 'Андрей', |
$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 написал(а):
Ребята большое спасибо у меня все получилось,спасибо что отозвались на помощь.

Спустя 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 тоже) |
Ну вот теперь все ясно еще раз спасибо!

Спустя 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 написал(а):
та ноль кратный всем числам))) ну я думаю кратное тут как-то не звучит. наверное как-то по другому называется)