| |
|
|
| | Прошу о помощи, и как не могу разобраться с этой проблемой. Help!
Пишу конфигуратор, он берет категории из базы и вставляет названия в html-код. Обходит он таблицу foreach, а дальше скрипт должен брать модели для этой категории и писать их после каждого названия категории, что-то типа этого:
Категория 1
модель1.1
модель1.2
Категория 2
модель 2.1
модель2.2 и так далее..
С категориями все отлично, берет их из базы и вставляет в код, но функция по обработке foreach моделей в функция категорий вставлять не дает. А если писать после нее, получается что сначала все категории и в последнюю категорию все модели. Как сделать, чтобы он после каждой написаной категории, писал модели относящиеся к нему?
function display_categories($cat_array)
{
foreach ($cat_array as $row) // print name and id categories
{
echo "<td>".($row["catname"]),"</td>";
echo "<td>".($row["catid"]),"</td>;
}
}
function display_gelezo($gel_array) //display model gelezo
{
foreach ($gel_array as $row)
{
echo "<option value=\"".($row["gelid"]), "\">".($row["gelmodel"]),"</option>";
}
}
|
Функции совершенно однотиптые, но я записала обе.
Функции, которые берут данные из базы работают, но вот и они, чтобы легче было разобраться, как это исправить.
function get_categories()
{
// query database for a list of categories
$conn = db_connect();
$query = "select catid, catname
from categories";
$result = @mysql_query($query);
if (!$result)
return false;
$num_cats = @mysql_num_rows($result);
if ($num_cats ==0)
return false;
$result = db_result_to_array($result);
return $result;
}
function get_category_name($catid)
{
// query database for the name for a category id
$conn = db_connect();
$query = "select catname
from categories
where catid = $catid";
$result = @mysql_query($query);
if (!$result)
return false;
$num_cats = @mysql_num_rows($result);
if ($num_cats ==0)
return false;
$result = mysql_result($result, 0, "catname");
return $result;
}
|
Вот как это выглядит в html | |
| |
|
|
| |
|
|
| |
для: Serenity
(07.01.2008 в 00:16)
| | | Ужас-при каждом вызове функции - коннект к базе??? db_connect(); | |
| |
|
|
| |
|
|
| |
для: mihdan
(07.01.2008 в 00:43)
| | | Да, там не постоянное соединение с базой. | |
| |
|
|
| |
|
|
| |
для: Serenity
(07.01.2008 в 00:16)
| | | Я изменила код, теперь он выдает модели, сразу за одной любой категорией. Но появилась другая проблема, он выбирает все модели, а не только относящиеся к определенной категории. Подскажите, как правильно написать условие.
Теперь код выглядит так:
function display_configurator($config_array)
{
foreach ($config_array as $row) // print name and id categories
{
echo "<td>".($row["catname"]),"</td>";
echo "<td>".($row["catid"]),"</td>";
foreach ($config_array as $row)
{
if (($row["gelezo.catid"])== ($row["categories.catid"]))
{
echo "<option value=\"".($row["gelid"]), "\">".($row["gelmodel"]),"</option>";
}
}
}
|
| |
| |
|
|
| |
|
|
| |
для: Serenity
(07.01.2008 в 05:45)
| | | sql-запрос исправьте | |
| |
|
|