|
 4.5 Кб |
|
| Вчера вы мне помогли со структурой в БД. Может теперь поможете с выводом, этих данных в хмтл, таблицу? Дамп таблиц в аттаче. Вот до чего я дошел сам.
<?
require_once "../../config.php";
if(!$_GET[id]) $id=6; //Сейчас только по этой категории есть данные в БД
else $id=$_GET[id];
$sql="SELECT
catalog_charater_name.name_char,
catalog_production.id_charater,
catalog_production.text,
catalog_production.id_num
FROM
catalog_production,
catalog_charater_name,
catalog_prod_name
WHERE
catalog_production.id_name=catalog_prod_name.id
AND catalog_charater_name.id_char=catalog_production.id_charater
AND catalog_production.id_name=$id";
$result=mysql_query($sql);
$i=0;
while(++$i<=mysql_num_rows($result))
{
$r=mysql_fetch_array($result);
echo "$r[name_char] $r[text] $r[id_num]<br>";
}
?>
|
Но у меня данные выводяться все что соответствуют этой категории и совсем не отформатированые. Можно было бы использовать цикл, но хочетсья уложиться в один запрос... | |
|
|
|
|
|
|
|
для: Ученик
(23.03.2006 в 13:37)
| | Ну для начала, лучше выводить так
<?
while($r=mysql_fetch_array($result)){
echo $r['name_char'].$r['text'].$r['id_num']."<br>";
}
?>
|
Формируем таблицу
<?PHP
$sql="SELECT
catalog_charater_name.name_char,
catalog_production.id_charater,
catalog_production.text,
catalog_production.id_num
FROM
catalog_production,
catalog_charater_name,
catalog_prod_name
WHERE
catalog_production.id_name=catalog_prod_name.id
AND catalog_charater_name.id_char=catalog_production.id_charater
AND catalog_production.id_name=$id";
$result=mysql_query($sql);
echo '<table border="0">';
while($r=mysql_fetch_array($result)){
echo "<td>".$r['name_char']."</td><td>".$r['text']."</td><td>".$r['id_num']."</tr>";
}
echo '</table>';
?>
|
| |
|
|
|
|
|
|
|
для: Artemy
(23.03.2006 в 14:33)
| | Спасибо про
запомню.
Вот смотрите у меня в таблице catalog_production хранятся идентификаторы характеристик изделий
, идентификаторы каталога которому это изделие соответствует
Идентификатор самого изделия
И сама характеристика
Если использовать ваш вариант, то все будет выводитсья не совсем так как нужно. Вот смотрите
здесь только 1 и 2, тоесть у меня 2 изделия. А они выводяться все подряд
И там наверно вот-так...
echo "<tr><td>".$r['name_char']."</td><td>".$r['text']."</td><td>".$r['id_num']."</tr>";
|
| |
|
|
|
|
|
|
|
для: Artemy
(23.03.2006 в 14:33)
| | Немного переделал запрос, теперь он выводит подряд характеристики изделий
$sql="SELECT
catalog_charater_name.name_char,
catalog_production.id_charater,
catalog_production.text,
FROM
catalog_production,
catalog_charater_name,
catalog_prod_name
WHERE
catalog_production.id_name=catalog_prod_name.id
AND catalog_charater_name.id_char=catalog_production.id_charater
AND catalog_production.id_name=6
ORDER BY catalog_production.id_num";
|
| |
|
|
|
|
|
|
|
для: Ученик
(23.03.2006 в 15:01)
| | Неуловил вопрос! В чем проблема? | |
|
|
|
|
|
|
|
для: Artemy
(23.03.2006 в 15:18)
| | Сейчас выводит так
Артикул SM-G (с бортиком)
Размер, мм 6х40
от 3000$ 11,73
до 3000$ 12,90
до 500$ 14,08
Артикул SM-G (с бортиком) Н.Ф.
Размер, мм 6х40
от 3000$ 10,53
до 3000$ 11,58
до 500$ 12,64
|
А мне нужно чтобы он выводил вот так. Заголовок ячеек у всех одинаковый, а потом выводяться характеристики, но смотрю что в 1запрос уже не получитсья :(
Артикул Размер, мм от 3000$ до 3000$ до 500$
SM-G (с бортиком) 6х40__11,73__12,90__ 14,08
SM-G (с бортиком) Н.Ф.6х40__10,53__11,58__12,64
|
| |
|
|
|
|
|
|
|
для: Ученик
(23.03.2006 в 15:31)
| | В два запроса получилось вот так
<?
require_once "../../config.php";
if(!$_GET[id]) $id=6;
else $id=$_GET[id];
$sql="SELECT catalog_charater_name.name_char
FROM catalog_production,
catalog_charater_name
WHERE catalog_charater_name.id_char = catalog_production.id_charater
AND catalog_production.id_name=$id
GROUP BY catalog_production.id_charater";
$result=mysql_query($sql);
echo "<table>
<tr>";
while($r=mysql_fetch_array($result)){
echo "<td>$r[name_char]</td>\n";
}
echo "</tr>";
$num_cols=mysql_num_rows($result);
$sql="SELECT
catalog_production.text
FROM
catalog_production,
catalog_charater_name,
catalog_prod_name
WHERE
catalog_production.id_name=catalog_prod_name.id
AND catalog_charater_name.id_char=catalog_production.id_charater
AND catalog_production.id_name=$id
ORDER BY catalog_production.id_num";
$result=mysql_query($sql);
$i=0;
while(++$i<=mysql_num_rows($result))
{
$r=mysql_fetch_array($result);
echo "<td>$r[text]</td>";
if($i%$num_cols==0) echo "</tr><tr>";
}
echo "</tr></table>";
?>
|
| |
|
|
|