PDA

Просмотр полной версии : помогите с выводом


dailik
28.12.2008, 02:11
как выводить c БД

вот типо того как на рисунке

http://img262.imageshack.us/img262/6962/94327152ts8.jpg

например щас делаю так

$result = mysql_query("SELECT * FROM XXX"); $myrow = mysql_fetch_array($result); do { echo " <table width='700px' bgcolor='#cccccc' border='0' cellpadding='0' cellspacing='0'> <tbody> <tr> <td> <table width='700px' border='0' align=\"center\" cellpadding='4' cellspacing='1'> <tbody> <tr bgcolor='#ffffff' class=\"сс\"> <td width='300px'>".$myrow['title']."</td> <td width='25px'> </td> </tr> </table></tbody>"; } while ($myrow = mysql_fetch_array($result));
а как зделать чтоб по три выводились и шли вниз?

Pashkela
28.12.2008, 02:20
1. Вводы надо тыкать везде в коде, а не в одну строчку вставлять. Думаешь читабельно?

2. Обычный html => http://www.htmlbook.ru/html/table.html

dailik
28.12.2008, 02:32
да но тогда выводится

111
222
333
444
555

в таком формате

а надо

123
456
789

Pashkela
28.12.2008, 02:41
пост первый исправь, тут люди с бодуна с корпаративок просто не станут глаза ломать, читай пункт 1 второго поста этой темы

optimazer
29.12.2008, 23:14
$q = mysql_query("SELECT * FROM xxx");
$res = mysql_fetch_array($q);

echo "<table><tr>";

for ($i = 0; $i < sizeof($res); $i++) {
echo "<td>стол такой-то - ".$res[0]." картинка такая-то - ".$res[1]."</td>";
if ($i%3==2 and $i != 0) {
echo "</tr><tr>";
}
}

echo "</tr></table>";

остаток от деления в помощь!

dailik
30.12.2008, 01:13
зделал так
$q = mysql_query("SELECT * FROM mycat WHERE cat=1");
$res = mysql_fetch_array($q);

echo "<table><tr>";

for ($i = 0; $i < sizeof($res); $i++) {
echo "<td>стол такой-то - ".$res[0]." картинка такая-то - ".$res[1]."</td>";
if ($i%3==2 and $i != 0) {
echo "</tr><tr>";
}
}

echo "</tr></table>";

но неработает

выводит только одно самое низкое ID и все что в ID находится на всю страницу

dailik
30.12.2008, 01:31
и вобщем всеравно выводится только один АЙДИ

Pashkela
30.12.2008, 01:34
<?
$i=1;
$q = mysql_query("SELECT `id` FROM `mycat` WHERE cat='1'");
$res = mysql_fetch_array($q);
While ($result=mysql_fetch_array($res))
{
echo "<table><tr>";
echo "<td><b>стол №1 - ".$res[$i]."</b>&nbsp;<b>стол №2 - ".$res[$i+1]."</b>&nbsp; стол №3 - ".$res[$i+2]." </td>";
echo "</tr><tr>";
$i++;
}
?>


ну уж а картинки по тому же принципу выводить. Ты не сказал и не показал, как у тебя связаны названия картинок на диске с id в базе

Т.е. укажи точно, что у тебя хранится в базе - номер картинки, её название или сама картинка. Не тормози

dailik
30.12.2008, 01:46
вобщем картинки вывожу вот примерно так <img src=" /images/".$res['image1'].""> к id присвоенна название картинки которая в папке уже есть, короче смысл таков выводить три картинки в три ряда и под ними названия и плюс ссылка для продолжения ссылку я сам подставлю

а щас мне пишет там while с большой было написанно сменил на маленькую но всеравно так

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in catalog.php on line 8

dailik
30.12.2008, 02:07
мне уже кажется такое невозможно! :(

Pashkela
30.12.2008, 02:39
Не ссать, нет ничего невозможного, просто подумать пришлось децл, не так и просто оказалось:)


<?
$i=1;
$kol = 3;// Сколько в одной строке картинок
$q = mysql_query("SELECT * FROM `mycat` WHERE cat='1'");
$totalrows = mysql_num_rows($q);
While ($i<=$totalrows)
{
if ($res=mysql_fetch_array($q))
{
echo "<table><tr>";
$a=$i+1;
$b=$i+2;
echo "<td><b>стол №$i</b><img src='/images/$res['image$i']></td><td>&nbsp;<td><b>стол №$a</b><img src='/images/$res['image$a']></td>&nbsp;<td><b>стол №$b</b><img src='/images/$res['image$b']></td>";
echo "</tr><tr>";
$i=$i+$kol;
}
}
?>


хз, не проверял на базе данных, просто из массива выбирал - работает. Код дурацкий, конечно:)

dailik
30.12.2008, 03:11
вот че пишет :(

Notice: Undefined index: image$i
Notice: Undefined index: image$a
Notice: Undefined index: image$b

Pashkela
30.12.2008, 03:16
Либо так:

echo "<td><b>стол №$i</b><img src='/images/$res['image$i']'></td><td>&nbsp;<td><b>стол №$a</b><img src='/images/$res['image$a']'></td>&nbsp;<td><b>стол №$b</b><img src='/images/$res['image$b']'></td>";

либо так:

echo "<td><b>стол №$i</b><img src='/images/$res['image' . $i. ']'></td><td>&nbsp;<td><b>стол №$a</b><img src='/images/$res['image' . $a . ']'></td>&nbsp;<td><b>стол №$b</b><img src='/images/$res['image' . $b . ']'></td>";


В первом варианте вообще почему-то кавычки не закрыл:))

dailik
30.12.2008, 03:28
повсякому перепробовал нифига...

но тут кажется ошибка гдето в ковычках дело в том что у меня когда ошибка в бд или запрос недулася или еще ченить то ошибки выводятся с помощью

error_reporting(E_ALL);
ini_set("display_errors", 1);

а когда в самом скрипте чтото нече невыводится и щас не выводится нечего пустая страница!

Pashkela
30.12.2008, 05:22
Если и сейчас скажешь не работает, я тибя зарэжу, вах:)


<?php
$i=1;
$id=1;
$kol = 3;// Сколько в одной строке картинок
$q = mysql_query("SELECT * FROM `mycat` WHERE cat='1'") or die (mysql_error());
echo "<table><tr>";
while ($res=mysql_fetch_array($q))
{
$c = $res['image1'];
echo "<td><b>стол №$id</b><img src='$c'></td>";
if ($i==$kol)
{
echo "</tr><tr>";
$i=0;
}
$i++;
$id++;
}
echo "</tr></table>";
?>

optimazer
30.12.2008, 15:30
млин ппц
допустим у тебя таблица в БД имеет такую структуру
tables - название таблицы
id int(50) not null PK (идентфикатор записи)
name varchar(255) (название стола)
foto varchar(255) (url картинки)

$q = mysql_query("SELECT * FROM tables;");
$res = mysql_fetch_assoc($q);

echo "<table><tr>";

for ($i = 0; $i < sizeof($res); $i++) {
echo "<td><img src=".$res[$i]['foto']."><br>".$res[$i]['name']."</td>";
if ($i%3==2 and $i != 0) {
echo "</tr><tr>";
}
}

echo "</tr></table>";

etc
30.12.2008, 16:35
вы, блять алкаши.
<div> знаем, а float?

etc
30.12.2008, 16:36
делаешь таблицу или шириной скажем в 630, делаешь на каждый элемент див,в style: float: left; и все. кроме того резиново получается. дивы рулят. каждый элемент по 210 шириной.

dailik
04.01.2009, 20:51
оо об этом я и неподумал!

dailik
04.01.2009, 20:53
Если и сейчас скажешь не работает, я тибя зарэжу, вах:)


<?php
$i=1;
$id=1;
$kol = 3;// Сколько в одной строке картинок
$q = mysql_query("SELECT * FROM `mycat` WHERE cat='1'") or die (mysql_error());
echo "<table><tr>";
while ($res=mysql_fetch_array($q))
{
$c = $res['image1'];
echo "<td><b>стол №$id</b><img src='$c'></td>";
if ($i==$kol)
{
echo "</tr><tr>";
$i=0;
}
$i++;
$id++;
}
echo "</tr></table>";
?>

воооооооо блин ток что все получилось огромное спасибо Pashkela все работает спасибо! и с новым годом!!!!