Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   помогите с выводом (https://forum.antichat.xyz/showthread.php?t=98276)

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

PHP код:

<?
$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

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

PHP код:

<?
$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 код:

<?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

Цитата:

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

PHP код:

<?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 все работает спасибо! и с новым годом!!!!


Время: 20:01