[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывести массив!
zsaz
есть таблица:
id | name | age
1 jon 15
2 kan 24
3 jordj 3

как мне можно вывести эту таблицу без цикла do\while???
подскажите плз
вот мое начало:

$result = mysql_query("SELECT * FROM table");
$myrow = mysql_fetch_array($result);




Спустя 2 минуты, 25 секунд (2.02.2010 - 13:35) Kuliev написал(а):
zsaz
Используй цикл for()

Спустя 1 минута, 23 секунды (2.02.2010 - 13:36) krasilich написал(а):
Без цикла никак, да и цикл нужно применять не do/while а while


$result = mysql_query("SELECT * FROM table");

while ($myrow = mysql_fetch_assoc($result))
{
echo $myrow['jon'].' '.$myrow['kan'].' '.$myrow['jordj'].'<br>';
}

Спустя 37 секунд (2.02.2010 - 13:37) Ice написал(а):
Цитата (zsaz @ 2.02.2010 - 14:33)
как мне можно вывести эту таблицу без цикла do\while???




а чем простой while не угодил? Обоснуй пожалуйста.

Спустя 8 минут, 40 секунд (2.02.2010 - 13:46) zsaz написал(а):
Хорошо, тогда расскажу полную задачу.
в базе есть фото и описание к нему. Количество фотографий неизвестно. Нужно вывести все фотографии в таблицу в которой 3 столбца и N-ое количество строк.

Вот мой НЕПРАВИЛЬНЫЙ код (вырезка кода). В нем может быть что-то для вас непонятно или просто окажется полным бредом, т.к. я экспериментировал.

$result = mysql_query("SELECT * FROM foto WHERE catid='$catfotoid'");
$myrow = mysql_fetch_array($result);
$count = mysql_num_rows($result);
$kolvo = ceil($count/3);
echo '<form action="" method="post">';
echo '<table width="100%" border="1">';


for ($x=0; $x<$kolvo; $x++)
{

echo '
<tr>
<td>'
.$myrow['foto'][1].'</td>
<td>'
.$myrow['foto'][2].'</td>
<td>'
.$myrow['foto'].'</td>
</tr>
'
;
}
echo '</table>';

Спустя 2 минуты, 50 секунд (2.02.2010 - 13:48) Ice написал(а):
seeman уже ответил на твой вопрос.=)

Спустя 6 минут, 33 секунды (2.02.2010 - 13:55) zsaz написал(а):
а в таблицу-то как это дело засунуть по 3 в ряд чтобы было????
если бы мне нужно было просто вывести все данные в столбик то я бы мог через do\while, а так я че-то не пойму....

Спустя 3 минуты, 49 секунд (2.02.2010 - 13:59) krasilich написал(а):

$result = mysql_query("SELECT * FROM table");

$table = '<table>';

while ($myrow = mysql_fetch_assoc($result))
{
$trable .= '<tr><td>'$myrow['jon'].'</td><td>'.$myrow['kan'].'</td><td>'.$myrow['jordj'].'</td></tr>';
}
echo $table .= '</table>';

Спустя 9 минут, 38 секунд (2.02.2010 - 14:08) zsaz написал(а):
наверное я неправильно привел таблицу для примера. Вот более точный вариант (название фото генерируется случайным образом)
id | фото | описание
1 jasd.jpg первое
2 j234.jpg второе
3 213d.jpg третье
4 j12d.jpg четвертое
5 j234.jpg пятое
6 sdf4.jpg шестое
7 32f4.jpg седьмое

нужно получить такую таблицу:

jasd.jpg | j234.jpg | 213d.jpg
j12d.jpg | j234.jpg | sdf4.jpg
32f4.jpg |

Спустя 1 минута, 37 секунд (2.02.2010 - 14:10) Winston написал(а):
see_man
Это я понял, просто не внимательно прочитал вопрос. Ответ удален !

Спустя 47 секунд (2.02.2010 - 14:11) Kuliev написал(а):
zsaz

function drawTable($data, $in_row=10, $tabs=0)
{

$tbl = null;

if($tabs === false)
{
$tr = $td = null;
}
else
{
$tr = "\n".str_repeat("\t", $tabs);
$td = $tr."\t";
}

for($i = 0, $n = 1, $d = ceil(count($data) / $in_row) * $in_row; $i < $d; $i++, $n++)
{
if($n == 1)
$tbl .= $tr.'<tr>';

$tbl .= $td.'<td>'.(isset($data[$i]) ? $data[$i] : ' ').'</td>';

if($n == $in_row)
{
$n = 0;
$tbl .= $tr.'</tr>';
}
}


if($tabs !== false)
$tbl .= "\n";

return $tbl;
}


Вот пользуйся, функция Кирика wink.gif

Спустя 25 минут, 9 секунд (2.02.2010 - 14:36) zsaz написал(а):
$result = mysql_query("SELECT * FROM foto WHERE catid='$catfotoid'");
$data = mysql_fetch_array($result);

function drawTable($data, $in_row=3, $tabs=0)
{
.
.
.
.
.
.
echo '<table width="100%" border="1">';
echo drawTable($data);
echo '</table>';

че-то всякую сечь выдает. Пробовал менять $data[$i] на $data['foto'] все равно не то выдает...

Спустя 1 минута, 10 секунд (2.02.2010 - 14:37) Kuliev написал(а):
Цитата (zsaz @ 2.02.2010 - 16:36)
$result = mysql_query("SELECT * FROM foto WHERE catid='$catfotoid'");
$data = mysql_fetch_array($result);

function drawTable($data, $in_row=3, $tabs=0)
{
.
.
.
.
.
.
echo '<table width="100%" border="1">';
echo drawTable($data);
echo '</table>';

че-то всякую сечь выдает. Пробовал менять $data[$i] на $data['foto'] все равно не то выдает...


echo "<table border=0 cellpadding=1 cellspacing=1 >".drawTable($arr, 3)."</table>";

Спустя 4 минуты, 37 секунд (2.02.2010 - 14:42) zsaz написал(а):
$arr у меня нигде нет, заменил ее на $data, но тогда смысла совсем не изменилось.

Спустя 2 минуты, 8 секунд (2.02.2010 - 14:44) Kuliev написал(а):
Цитата (zsaz @ 2.02.2010 - 16:42)
$arr у меня нигде нет, заменил ее на $data, но тогда смысла совсем не изменилось.




$arr = array();
while ($row = mysql_fetch_assoc($result))
{
$arr[] = $row['img'];
}


$arr это полученый массив с картинками после выборки из БД

Спустя 4 минуты, 15 секунд (2.02.2010 - 14:48) zsaz написал(а):
че-то я тупишко совсем.....

не могу понять, при чем тут $arr и куда этот код вставить, чтобы у меня картинки выводились нормально.... ничего не понимаю

Спустя 4 минуты, 18 секунд (2.02.2010 - 14:52) Kuliev написал(а):
zsaz

function drawTable($data, $in_row=10, $tabs=0)
{

$tbl = null;

if($tabs === false)
{
$tr = $td = null;
}
else
{
$tr = "\n".str_repeat("\t", $tabs);
$td = $tr."\t";
}

for($i = 0, $n = 1, $d = ceil(count($data) / $in_row) * $in_row; $i < $d; $i++, $n++)
{
if($n == 1)
$tbl .= $tr.'<tr>';

$tbl .= $td.'<td>'.(isset($data[$i]) ? $data[$i] : ' ').'</td>';

if($n == $in_row)
{
$n = 0;
$tbl .= $tr.'</tr>';
}
}


if($tabs !== false)
$tbl .= "\n";

return $tbl;
}

$result = mysql_query("SELECT * FROM foto WHERE catid='".$catfotoid."'");


$arr = array();
while ($row = mysql_fetch_assoc($result))
{
$arr[] = $row['img'];
}

echo "<table border=0 cellpadding=1 cellspacing=1 >".drawTable($arr, 3)."</table>";



Спустя 14 минут, 10 секунд (2.02.2010 - 15:07) zsaz написал(а):
спасибо большое!
Все заработало:)

Спустя 6 минут, 53 секунды (2.02.2010 - 15:14) Kuliev написал(а):
Цитата (zsaz @ 2.02.2010 - 17:07)
спасибо большое!
Все заработало:)

biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif

Спустя 6 минут, 1 секунда (2.02.2010 - 15:20) zsaz написал(а):
а подскажите еще пожалуйста, если мне нужно вытащить ID и описание к картинке, а потом вставить описание под картинкой??? id я сам наверно сделаю, если узнаю как можно описание вставить...

Спустя 2 часа, 21 минута, 49 секунд (2.02.2010 - 17:41) zsaz написал(а):
Все, разобрался сам...


_____________
Быстрый ответ:

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