|
 2 Кб |
|
| С темой, как то не очень получилось...
Есть БД, в которой 3 таблицы, дамп прилагаеться.
Задача: при помощи PHP сформулировать правильный занос цен в БД на изделия, в определенном хлебозаводе, если цена не указана, то заносить это хлеб изделие не нужно.
Вот что у меня получаеться
<?
include "../config.php";
if(!empty($Add))
{
echo "Добавляем в БД";
#Вот тут и вся загвоздка!!!!
die;
}
echo "<FORM action=\"$PHP_SELF\" method=\"POST\">";
$query="SELECT id, name FROM magazins ORDER BY 'name' ASC";
$r=mysql_query($query);
if(!$r)
{
echo "Ошибка!";
die;
}
echo "<TABLE><TBODY><tr><td valign=top>";
echo "Выберите магазин<br>";
for($i=0; $i<mysql_num_rows($r); $i++)
{ $f=mysql_fetch_array($r);
echo "<INPUT type=\"radio\" name=\"zavod_id\" value=\"$f[id]\">$f[name]<br>\n";
}
echo "</td><td>";
$query="SELECT id, name FROM hleb_char ORDER BY 'name' ASС";
$r=mysql_query($query);
if(!$r)
{
echo "Ошибка!";
die;
}
echo "<TABLE><TBODY>";
for($i=0; $i<mysql_num_rows($r); $i++)
{ $f=mysql_fetch_array($r);
echo "<TR><TD>$f[name]</TD><TD><INPUT size=\"7\" type=\"text\" name=\"id$f[id]\"></TD></TR>";
}
echo "</TABLE></TBODY>";
echo "</TABLE></TBODY></tr></td>";
echo "<input type=submit value=\"Добавить\" name=\"Add\">";
die;
?>
|
После заполнения формы передаютсья переменные
$zavod_id=""
#идентификатор завода в таблице заводов
$id1...$id200
#переменные, в которых содержаться цены на хлеб изделия, где цифра - это идентификатор хлеб изделия в табл. изделий
|
Заранее спасибо | |
|
|
|
|
|
|
|
для: napTu3aH
(08.09.2005 в 11:26)
| | Хм... а у меня чего-то ошибку выдаёт скрипт | |
|
|
|
|
|
|
|
для: cheops
(08.09.2005 в 13:30)
| | извините это я дамп корявый дал попробуйте этот, да и скрипт с ошибками
SELECT id, name
FROM 'hleb_char'
ORDER BY name ASC
|
| |
|
|
|
|
|
|
|
для: napTu3aH
(08.09.2005 в 13:40)
| | Дамп я поправил, а скрипт где исправить, что-то не соображу где - не могли бы вы его тоже прикрепить к сообщению? | |
|
|
|
|
 1 Кб |
|
|
для: cheops
(08.09.2005 в 18:23)
| | Прикрепляю, там в запросе ошибка была.
Честно говоря незнаю даже как подступиться. Думал в массив загнать все цены и их ид, а потом вывести циклом при заносе в БД.
Но на работе нет возможности попробовать... | |
|
|
|
|
 1.3 Кб |
|
|
для: napTu3aH
(08.09.2005 в 18:43)
| | Следует исправить вывод текстовых полей и преобразовать их имена в массив - так будет проще
<?php
echo "<TR><TD>$f[name]</TD><TD><INPUT size=\"7\" type=\"text\" name=\"id[".$f[id]."]\"></TD></TR>";
?>
|
Тогда SQL-запрос можно сформировать следующим образом
<?php
if(!empty($Add))
{
echo "Добавляем в БД";
// Формируем запрос
foreach($_POST[id] as $id => $price)
{
if(!empty($price)) $temp[] = "(NULL, $_POST[zavod_id], $id, $price)";
}
$query = "INSERT INTO hleb_comutator VALUES".implode(",",$temp);
echo $query;
die;
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(09.09.2005 в 01:23)
| | Спасибо, вроде все должно работать.
Я вчера пол ночи просидел, так и ничего не получилось. Знал, что именно через масивы можно сделать, но загвоздка была в том, что цены поступали уже после того, как я из базы вытягивал ИД хлеб изделий. Я и не догадывался использовать 2 массива.
З.Ы. Как все-таки ВЕЛИК и МОГУЧ язык PHP. Даже для решения такой, думаю что простой, задачи. | |
|
|
|