|
|
|
|
<?php
// выводим категории
$query = "SELECT * FROM category WHERE id_parent = '$id_category'";
$cat = mysql_query($query);
while ($ca = mysql_fetch_array($cat))
{
$id_category = $ca['id_category'];
$name = $ca['name'];
$text = $ca['text'];
$smallphoto = $ca['smallphoto'];
echo "
<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
<tr bgcolor=\"#c9c9c8\">
<td><a href=\"index.php?id_category=$id_category\"><font color=\"red\">$name</font></a></td>
<td></td>
</tr>
<tr>
<td><a href=\"index.php?id_category=$id_category\"><img src=\"$smallphoto\" border=\"0\"></a></td>
<td>$text</td>
</tr>
</table>
";
}
// выводим продукцию
$sql = "SELECT * FROM prodyct WHERE id_category = '$id_category'";
$rezult = mysql_query($sql);
while ($rez = mysql_fetch_array($rezult))
{
$id_prodyct = $rez['id_prodyct'];
$name = $rez['name'];
$text = $rez['text'];
$id_category = $rez['id_category'];
$photo = $rez['photo'];
$smallphoto = $rez['smallphoto'];
echo "
<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\">
<tr bgcolor=\"#c9c9c8\">
<td>$name</td>
<td></td>
</tr>
<tr>
<td><img src=\"$smallphoto\"></td>
<td>$text</td>
</tr>
</table>
";
}
?>
|
Выводит все следующим образом: выводит категории и потом всю продукцию из последней категории - почему так - не пойму, подскажите плз.
В БД все заноситься правильно - проверял. | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 13:02)
| | А чего тут непонятного? Вы проанализируйте свой код.
После первого цикла у вас и получается что, $id_category равна последнему значению из цикла, которую вы потом успешно засовываете во второй SQL-запрос. | |
|
|
|
|
|
|
|
для: AcidTrash
(15.08.2008 в 13:09)
| | А как тогда мне это поменять? | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 13:15)
| | Смотря, что вы хотите в итоге получить. | |
|
|
|
|
|
|
|
для: AcidTrash
(15.08.2008 в 13:16)
| | Чтобы выводились каталоги и если в них есть подкаталоги или продукция - то выводить их, если нет - то соответственно нет.
Т.е. все то же что есть и сейчас, только без вывода продукции последнего каталога) | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 13:15)
| |
<?php
// выводим категории
$id_category="14";
$query = "SELECT * FROM category WHERE id_parent = '$id_category'";
$cat = mysql_query($query);
while ($ca = mysql_fetch_array($cat))
{
$id_cat = $ca['id_category'];
$name = $ca['name'];
$text = $ca['text'];
$smallphoto = $ca['smallphoto'];
echo "
<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
<tr bgcolor=\"#c9c9c8\">
<td><a href=\"index.php?id_category=$id_category\"><font color=\"red\">$name</font></a></td>
<td></td>
</tr>
<tr>
<td><a href=\"index.php?id_category=$id_cat\"><img src=\"$smallphoto\" border=\"0\"></a></td>
<td>$text</td>
</tr>
</table>
";
}
// выводим продукцию
$sql = "SELECT * FROM prodyct WHERE id_category = '$id_category'";
$rezult = mysql_query($sql);
while ($rez = mysql_fetch_array($rezult))
{
$id_prodyct = $rez['id_prodyct'];
$name = $rez['name'];
$text = $rez['text'];
$id_category = $rez['id_category'];
$photo = $rez['photo'];
$smallphoto = $rez['smallphoto'];
echo "
<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\">
<tr bgcolor=\"#c9c9c8\">
<td>$name</td>
<td></td>
</tr>
<tr>
<td><img src=\"$smallphoto\"></td>
<td>$text</td>
</tr>
</table>
";
}
?>
|
| |
|
|
|
|
|
|
|
для: OLI
(15.08.2008 в 13:21)
| | OLI, переменная id_category у меня ерется из урла, так что это не выход) или я Вас не понял( | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 13:25)
| | Тогда мой вариант не подходит. У тебя напутано с переменными-попробуй сам разобраться! | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 13:25)
| | покажите вес код, что бы посматреть откуда и как берёт id_category | |
|
|
|
|
|
|
|
для: Apcen
(15.08.2008 в 13:46)
| |
<?php
require_once "../admin/config.php";
require_once "../util/top.php";
if(empty($_GET['id_category']))$id_category=0;
else $id_category = $_GET['id_category'];
// выводим дерево категорий
// Выводим путь до текущего раздела
$path = array();
$name = array();
$curr = $id_category;
do
{
$q = mysql_query("SELECT id_parent, name FROM category WHERE id_category='$curr'") or die (db_error());
$row = mysql_fetch_array($q);
$curr = $row ? $row[0] : 0; //get parent ID
$path[] = $curr;
$name[] = $row ? $row[1] : "<a href=\"index.php\">Продукция</a>";
} while ($curr);
//now reverse $path
$path = array_reverse($path);
$name = array_reverse($name);
for($i=0;$i<count($name); $i++) {
if ($i == count($name) - 1 ) echo ":: <font size=3>".$name[$i]."</font>";
else echo " :: <a href=index.php?id_page=".$path[$i+1]."><font size=3>".$name[$i]."</font></a>";
}
echo "<br>";
?>
<table border="0" cellpadding="0" cellspacing="10">
<tr>
<td>
<?php
// выводим категории
$query = "SELECT * FROM category WHERE id_parent = '$id_category'";
$cat = mysql_query($query);
while ($ca = mysql_fetch_array($cat))
{
$id_category = $ca['id_category'];
$name = $ca['name'];
$text = $ca['text'];
$smallphoto = $ca['smallphoto'];
echo "
<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\" width=\"100%\">
<tr bgcolor=\"#c9c9c8\" width=\"100%\" align=\"left\">
<td colspan=\"2\"><a href=\"index.php?id_category=$id_category\"><font color=\"red\">$name</font></a></td>
</tr>
<tr align=\"left\">
<td width=\"130\"><a href=\"index.php?id_category=$id_category\"><img src=\"$smallphoto\" border=\"0\"></a></td>
<td align=\"left\">$text</td>
</tr>
</table>
";
}
// выводим продукцию
$sql = "SELECT * FROM prodyct WHERE id_category = '$id_category'";
$rezult = mysql_query($sql);
while ($rez = mysql_fetch_array($rezult))
{
$id_prodyct = $rez['id_prodyct'];
$name = $rez['name'];
$text = $rez['text'];
$id_category = $rez['id_category'];
$photo = $rez['photo'];
$smallphoto = $rez['smallphoto'];
echo "
<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">
<tr bgcolor=\"#c9c9c8\" width=\"100%\" align=\"left\">
<td colspan=\"2\">$name</td>
</tr>
<tr width=\"100%\" align=\"left\">
<td width=\"100\"><img src=\"$smallphoto\"></td>
<td align=\"left\">$text</td>
</tr>
</table>
";
}
?>
</td>
</tr>
</table>
<br><br>
<?php
require_once "../util/bottom.php";
?>
|
| |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 14:02)
| | up | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 14:02)
| | Оффтоп: просматривается SQL-инъекция | |
|
|
|
|
|
|
|
для: mihdan
(15.08.2008 в 16:48)
| | можно тогда подробнее про инъекцию, всмысле где именно?
ну и как собственно решить ранее озвученный вопрос? | |
|
|
|
|
|
|
|
для: Dizels
(15.08.2008 в 14:02)
| |
$id_category = $_GET['id_category'];
$query = "SELECT * FROM category WHERE id_parent = '$id_category'";
|
вот пришлет хакер вместо id_category инъекцию и все! нельзя совать в запрос прямо с инета!
как минимум, если id_category число, то сделать
$id_category = intval($_GET['id_category']);
|
| |
|
|
|
|
|
|
|
для: GeorgeIV
(15.08.2008 в 17:27)
| | всем спасибо - топик закрыт. | |
|
|
|