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()
Используй цикл 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-ое количество строк.
Вот мой НЕПРАВИЛЬНЫЙ код (вырезка кода). В нем может быть что-то для вас непонятно или просто окажется полным бредом, т.к. я экспериментировал.
в базе есть фото и описание к нему. Количество фотографий неизвестно. Нужно вывести все фотографии в таблицу в которой 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, а так я че-то не пойму....
если бы мне нужно было просто вывести все данные в столбик то я бы мог через 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 |
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;
}
Вот пользуйся, функция Кирика

Спустя 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'] все равно не то выдает...
$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 и куда этот код вставить, чтобы у меня картинки выводились нормально.... ничего не понимаю
не могу понять, при чем тут $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) |
спасибо большое! Все заработало:) |





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