|
|
|
| Вообщем проблема такая(( проблема в организации прибытия товара. В таблице есть такие поля как: Номен.номер(счетчик),Наименование,Группа товара, подгруппа,Единица измерения(например штук), Количество,Дата поступление... Например у меня есть такой товар как "оперативная память на 512 Mb ", который пришел например 10.09.07 в количестве 5 штук..... через неделю приходит аналогичный товар "Оперативная память на 512 Mb" и мне его нужно добавить в базу данных не как отдельную запись, а прибавить к товару, который пришел 10.09.07 следовательно чтоб "оперативной памяти на 512 Mb" стало 6 штук...... html форма для заполнения, выглядит так:
<form action="obpribitie.php" method=post>
<label>
<div align="left"><br />
<table border=0>
<tr>
<td>Номенклатурный номер</td>
<td> <input type="text" name="NomenID" /></td>
</tr>
<tr>
<td>Наименование</td>
<td><input type="text" name="Naimenovanie" /></td>
</tr>
<tr>
<td>Группа</td>
<td><?
/* создать соединение */
$link=mysql_connect("localhost","root","") OR DIE("Не могу создать соединение ");
mysql_query('SET NAMES utf8');
$Result= mysql_db_query(bdasutp,$link);
$sql = mysql_query("SELECT * FROM `Gruppa`");
echo '<select name="Gruppa">';
while($row = mysql_fetch_object($sql)){
echo '<option value="'.$row->ID.'">'.$row->NazGruppa.'</option>';
}
echo '</select>';
mysql_query('SET CHARACTER_SET utf8');
mysql_close($link);
?> </td>
</tr>
<tr>
<td>Подгруппа</td>
<td><?
/* создать соединение */
$link=mysql_connect("localhost","root","") OR DIE("Не могу создать соединение ");
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
$Result= mysql_db_query(bdasutp,$link);
$sql = mysql_query("SELECT * FROM `podgruppa`");
echo '<select name="PodGruppa">';
while($row = mysql_fetch_object($sql)){
echo '<option value="'.$row->ID.'">'.$row->Nazpodgruppa.'</option>';
}
echo '</select>';
mysql_close($link);
?>
</td>
</tr>
<tr>
<td>Количество</td>
<td><input type="text" name="Kolvo" /></td>
</tr>
<tr>
<td>Единица измерения</td>
<td><input type="text" name="Edinizm" /></td>
</tr>
<tr>
<td>Дата поступления</td>
<td><input type="text" name="DataPost" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td> <p class="bodyText"></td>
</tr>
</table>
<div align="center"><span class="bodyText">
<input name="Submit" type="submit" class="subHeader" value="Добавить" />
</span> </div>
</div>
</label>
<br />
</p>
</form>
PHP я уверен что неправильный но все же,вот он:
<?
if (!$NomenID ||!$Naimenovanie || !$Gruppa || !$PodGruppa || !$Kolvo || !$Edinizm || !$DataPost)
{
echo "Вы не заполнили все нужные поля.<br>"
."Пожалуйста вернитесь назад.";
exit;
}
$NomenID=addslashes($NomenID);
$Naimenovanie=addslashes($Naimenovanie);
$Gruppa =addslashes($Gruppa);
$PodGruppa =addslashes($PodGruppa);
$Kolvo=addslashes($Kolvo);
$Edinizm =addslashes($Edinizm);
$DataPost =addslashes($DataPost);
$host = "localhost"; // имя сервера MySQL
$user = "root"; // имя пользователя MySQL
$pass = ""; // пароль на сервере MySQL
$name = "bdasutp"; // имя базы данных
$link=mysql_connect("localhost","root","") OR DIE("Не могу создать соединение ");
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
mysql_select_db($name, $link);
$result = mysql_query("SELECT count(NomenID) FROM glav WHERE Naimenovanie='".$_POST['glav']."'", $link);
if($result == 0){
mysql_query("INSERT INTO glav values('".$NomenID."','".$Naimenovanie."',' ".$Gruppa."','".$PodGruppa."','".$Kolvo."','".$Edinizm."','" "$DataPost"')", $link);
}
else if($result > 0){
mysql_query("UPDATE glav set $Kolvo=$Kolvo + Kolvo where $NomenID=NomenID", $link);
}
else{
echo mysql_affected_rows ()."tovar inserted into database.";
mysql_close($link);
Помогите пожалуйста, или предложите свой вариант плиз!!!!!!! Часть скрипта переписал с книги | |
|
|
|
|
|
|
|
для: MaxFR
(05.11.2007 в 13:43)
| | Оформите ваш текст соответствующими тегами и приведите структуру БД. Очень много букв одного цвета. Уберите код всего файла, а оставьте тот, который вызывает затруднения...
Просто, возможно я бы смог Вам помочь, да очень неохото вникать в суть, когда всё сливается...
( | |
|
|
|
|
|
|
|
для: provodnik
(06.11.2007 в 00:24)
| |
PHP я уверен что неправильный но все же,вот он:
<?
if (!$NomenID ||!$Naimenovanie || !$Gruppa || !$PodGruppa || !$Kolvo || !$Edinizm || !$DataPost)
{
echo "Вы не заполнили все нужные поля.<br>"
."Пожалуйста вернитесь назад.";
exit;
}
$NomenID=addslashes($NomenID);
$Naimenovanie=addslashes($Naimenovanie);
$Gruppa =addslashes($Gruppa);
$PodGruppa =addslashes($PodGruppa);
$Kolvo=addslashes($Kolvo);
$Edinizm =addslashes($Edinizm);
$DataPost =addslashes($DataPost);
$host = "localhost"; // имя сервера MySQL
$user = "root"; // имя пользователя MySQL
$pass = ""; // пароль на сервере MySQL
$name = "bdasutp"; // имя базы данных
$link=mysql_connect("localhost","root","") OR DIE("Не могу создать соединение ");
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
mysql_select_db($name, $link);
$result = mysql_query("SELECT count(NomenID) FROM glav WHERE Naimenovanie='".$_POST['glav']."'", $link);
if($result == 0){
mysql_query("INSERT INTO glav values('".."','".$Naimenovanie."',' ".$Gruppa."','".$PodGruppa."','".$Kolvo."','".$Edinizm."','" $DataPost"')", $link);
}
else if($result > 0){
mysql_query("UPDATE glav set $Kolvo(строка которую заполняю в форме)=$Kolvo + Kolvo(столбец в БД) where $NomenID(строка которую заполняю в форме)=NomenID()", $link);
}
else{
echo mysql_affected_rows ()."tovar inserted into database.";
mysql_close($link);
|
У меня не работает PHP код... выводит белое окно и все... вообщем и выполняет операции Insert и Update.... Суть в том что мне надо если такой записи нет в БД то он должен ее добавить.... А если есть то обновить количество товара....вот))))))) Карява написал знаю.. ошибок наверно куча.. | |
|
|
|
|
|
|
|
для: MaxFR
(06.11.2007 в 12:14)
| | Вы это добавляете через админа как я понимаю. А что нельзя сделать вывод для админа списка товаров: Модули памяти -> Оперативная память. В этой таблице количество товара, это поле ввода. Изменили у соответсвующего товара количество и сохранили. | |
|
|
|
|
|
|
|
для: sim5
(06.11.2007 в 12:24)
| | это как так сделать????? объясни.. я бестолковый)))) | |
|
|
|
|
|
|
|
для: MaxFR
(06.11.2007 в 12:32)
| | Ну как, так и делать. Например, у админа есть меню (самое простое это селекты), где выбирается категория товаров. Делаем запрос и получаем все товары этой категории. Если товаров много, можно добавить постраничную навигацию. Естественно полезно, чтобы была возможность сортировки товара, например, по объему линеек памяти, по цене и т.п..
Далее формируем форму, в которой находится таблица, количество товаров это поле ввода, его значение устанавливается полученному из базы.
Вносите изменения для необходимых товаров и отправляете форму на сервер. Получаете, обновляете данные в базе. Как это практически реализовать - как вам более выгодно и более понятно будет. | |
|
|
|
|
|
|
|
для: sim5
(06.11.2007 в 12:45)
| | Во..... А как связать текстовые поля с Базой данных.... Чтоб показывали значения из БД.... Какой нить пример приведите | |
|
|
|
|
|
|
|
для: MaxFR
(06.11.2007 в 13:14)
| | Не понял, какие текстовые поля - описание товаров или что? | |
|
|
|
|
|
|
|
для: sim5
(06.11.2007 в 13:30)
| | Ну вот ты говоришь чтоб в поле типа text стояло значение старого количества товара........И чтоб ввел новое и нажал обновить и обновилось... Блин как выразиться так... Как сделать так чтоб в поле text отображалось значение старого количества..... Типо как связать поле text с со столбцом в таблице Количество???? | |
|
|
|
|
|
|
|
для: MaxFR
(06.11.2007 в 13:36)
| | Вы получаете список товаров категории, например, для линеек памяти, какой-то фирмы и какого-то типа, непример - DDRII:
id товара, марка, объем памяти линейки, цена, скидка за опт, количество, дата последнего поступления.
Начинаете формировать форму и таблицу. Как вы это делать будуте? Наверное циклом, и наверное массивом для этого цикла будут данные полученные из базы. Открывающие и закрывающие теги <form><table> и </table></form>, а также скрытые поля формы (если будут нужны) прописываются вне цикала. А далее все просто - исходя из примера выше:
<tr>
<td>id товара (может даже содержать ссылку на страницу, на которой можно
отредактировать описание товара, его изображение и прочее)</td>
<td>марка</td>
<td>объем памяти линейки</td>
<td><input type="text" name="mony_id товара" value"здесь вставляется значение из бызы - цена"></td>
<td><input type="text" name="discount_id товара" value"здесь вставляется значение из бызы - скидка за опт"></td>
<td><input type="text" name="count_id товара" value"здесь вставляется значение из бызы - количество"></td>
<td>дата последнего поступления</td>
</tr>
Далее следующиее ячейки
<tr>
.....
</tr>
в них помещаются тоже самое, только уже для другого товара
|
К именам полей добавляется Id товара, для последующий идентификации принадлежности полей к ID товару при приеме формы. Дату поступления редктировать не надо будет если отправлять на сервер ID товаров только те, у которых значения изменялись. Можно это устроить с помощью JS и скытого поля. Тогда в базу будет автоматом вносится текущая дата. А можно также сделать для даты поле ввода.
При приеме формы, произойдет обновление записей в базе для товаров. | |
|
|
|