Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Sige

Пожалуйста, помогите понять ошибку в запросе

06.11.2011, 01:10. Показов 718. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сразу говорю, что в PHP новичок.
Проблема вот в чём: скрипт работает нормально при добавлении товара в базу, при выводе каталога товаров.
Сведения об оформлении сделки в базу не добавляются.
Пожалуйста, помогите разобраться, в чём ошибка.

Файл index.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if (isset($_POST['title'])) $title=$_POST['title'];
else $title="";                     
if (isset($_POST['price'])) $price=$_POST['price'];
else $price="";
if (isset($_POST['kol'])) $price=$_POST['kol'];
else $kol="";
if (isset($_POST['s1']) and $_POST['s1']== "в базу") {
}
?> 
<html>
<head>
<head>
</head>
<body>
<h1 align="center">Приём товара</h1>
<form action="script.php" method="POST">
<p><font>Наименование товара:</font>
<p><input type="text" name="title">
<form action="script.php" method="POST">
<p><font>Цена:</font>
<p><input type="text" name="price">
<p><font>Количество:</font>
<p><input type="text" name="kol">
<p><input value="Очистить" type="reset"><input type="submit" value="Принять">
</form>
</body>
</html>
Файл script.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
 
function proverka($z){
if (empty($z)) return 0; //проверка не прошла
else return 1;//проверка прошла успешно 
}
$err=1;
 
echo "Наименование товара: ";
if (!proverka($_POST['title'])) {echo "<font color=\"red\">не заполнено обязательное поле</font>";
$err=0;}
else {echo $_POST['title'];
}
 
echo "Цена: ";
if (!proverka($_POST['price'])) {echo "<font color=\"red\">не заполнено обязательное поле</font>";
$err=0;}
else {echo $_POST['price'];
}
 
echo "Количество: ";
if (!proverka($_POST['kol'])) {echo "<font color=\"red\">не заполнено обязательное поле</font>";
$err=0;}
else {echo $_POST['kol'];
}
 
echo "<form method=\"POST\" action=\"index.php\">"; 
echo "<input type=\"hidden\" name=\"title\" value=\"".$_POST['title']."\">";
echo "<input type=\"hidden\" name=\"price\" value=\"".$_POST['price']."\">";
echo "<input type=\"hidden\" name=\"kol\" value=\"".$_POST['kol']."\">";
echo "<input type=\"submit\" value=\"исправить\" name=\"s1\">";
if($err) echo "<input type=\"submit\" value=\"в базу\" name=\"s1\">";
echo "</form>"; 
 
mysql_connect("localhost","root","pass") or die("Соединение не удалось");
mysql_select_db("my_db");
 
$ins = mysql_query("INSERT into `tovar`  values ( null, '".$_POST['title']."', '".$_POST['price']."','".$_POST['kol']."');");
 
if($ins) echo "Товар добавлен.<p><a href=\"catalog.php\">Перейти в каталог товаров</a>";
else {
echo "Товар не добавлен";
echo mysql_error();
}
 
?>
Файл catalog.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
mysql_connect("localhost","root","pas") or die("Соединение не удалось");
mysql_select_db("my_db");
 
$sel="select * from tovar";
$res=mysql_query($sel);
 
echo "Каталог товаров";
 
//здесь форма, в которой будет одно поле ячейка таблицы, где нужно ввести число единиц товара, который хочет купить клиент
 
echo "<form method=\"POST\" action=\"itog.php\"><table border=\"1\"><tr><td>Наименование товара</td><td>Цена</td><td>Количество</td>
</tr>";
 
while($arr=mysql_fetch_array($res)){
echo "<tr><td>
 
<a target=\"_blank\" href=\"info.php?id_tovar=".$arr['id_tovar']."\">
".$arr['Title']."</a></td>
<td>".$arr['Price']."</td>
<td>".$arr['kol']."</td><input type=\"text\" name=\"id[".$arr['id_tovar']."]\"
 value=\"0\"></td></tr>"; 
}
echo "</table><br>";
 
//потом выбираем покупателя, заночим в select
 
echo "Выберете из списка клиента:<select name=\"id_client\">";
$select="select * from client";
$result=mysql_query($select);
while($arr_cl=mysql_fetch_array($result)){
echo "<option value=\"".$arr_cl['id_client']."\">".$arr_cl['name_client']."</option>";
}
echo "</select>";
 
//тут кнопка отправки и конец формы, переменные, в которых указано число единиц покупаемого товара идут как массив, индексированный своими id_tovar
 
echo "<p><input type=\"submit\"></form>";
?>

Файл itog.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
mysql_connect("localhost","root","pas") or die("Соединение не удалось");
mysql_select_db("my_db");
 
 
$id_sdelka=$_POST['id_sdelka'];
$id_client=$_POST['id_client'];
$data_sdelki=$_POST['data_sdelki'];
$sum=$_POST['summ'];
 
echo "Итоги сделки";
 
 
$sel="select * from sdelka";
$res=mysql_query($sel);
 
echo "<table border=\"1\"><tr><td><h4>Id клиента</h4></td><td><h4>Дата заключения сделки</h4></td><td>Сумма сделки</td></tr>";
 
 
while($arr=mysql_fetch_array($res)){
echo "<tr><td><a target=\"_blank\" href=\"info.php?id_sdelka=".$arr['id_sdelka']."\">
".$arr['id_client']."</a></td>
<td>".$arr['data_sdelki']."</td>
<td>".$arr['summ']."</td>
 
 
 </td></tr>";
}
 
echo "</table><br>";
 
$up_sdelka="insert into sdelka values (null,$id_client,now(),null)";
$res_up_sdelka=mysql_query($up_sdelka);
echo mysql_error();
$id_sdelka=mysql_insert_id();
$sum=0;
foreach ($id as $key => $value){
$up="update tovar set kol=kol-$value where id_tovar=$key";
$up_svaz="insert into svaz values($id_sdelka,$key,$value)";
$sum+=$value*mysql_result(mysql_query("select price from 
tovar where id_tovar=$key"),0,0);
if(mysql_query($up)) echo "Количество товара $key обновлено";
else {echo "товар $key не обновился";
echo mysql_error();}
if(mysql_query($up_svaz)) echo " Количество товара $key добавлено к сделке <br>";
else {echo " товар $key не добавлен к сделке <br>";
echo mysql_error();}
}
$up_sdelka="update sdelka set summ=$sum where id_sdelka=$id_sdelka";
if(mysql_query($up_sdelka)) {echo "Сделка $id_sdelka обновлена на сумму $sum<br>";
echo mysql_error();}
else "Не удалось установить сумму сделки $id_sdelka<br>";
?>
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2011, 01:10
Ответы с готовыми решениями:

Исправьте ошибку в запросе пожалуйста
делаю такой запрос к бд, выдает ошибку, как правильно сделать такой запрос? INSERT INTO `table` WHERE `Login` = '$Login'...

Не могу понять в чем ошибка в php запросе?
Здравствуйте, уважаемые пользователи кибера. Ошибка состоит с вытягиванием категорий с БД. БД лежит на хостинге, и выглядит она так: ...

Объясните пожалуйста ошибку в запросе
необходимо написать запрос на поиск суммы (length) фильмов где (rating = MAX( rating)/3) при использовании rating =3 все ищет...

3
Рождён удивлять
53 / 56 / 9
Регистрация: 08.08.2011
Сообщений: 438
06.11.2011, 02:04
Попробуй в ручную добавить в базу несколько товаров если все пройдет успешно то тогда ищи в скрипте ошибку мне лень сейчас её искать но всё же если не будет добавлять в ручную тогда таблица создана по крывому надо пересоздать её и добавить поле id autoincrement у меня много раз такое было пересоздал таблицу добавил автоинкремент и все запахало=))
0
Sige
06.11.2011, 13:00
Вручную добавляется, ошибка именно в скрипте, - определить не могу.
Рождён удивлять
53 / 56 / 9
Регистрация: 08.08.2011
Сообщений: 438
06.11.2011, 18:08
PHP
1
$ins = mysql_query("INSERT into `tovar`  values ( null, '".$_POST['title']."', '".$_POST['price']."','".$_POST['kol']."');");
у тебя не указано в какие поля ввести value
смотри как надо запрос на инсерт писать правильно
PHP
1
mysql_query('insert into `login`(`userid`, `user_pass`, `sex`, `email`) values(\''.$_POST['username'].'\', \''.($use_md5_password ? md5($_POST['pass1']) : $_POST['pass1']).'\', \''.($_POST['gender'] == 'M' ? 'M' : 'F').'\', \''.$_POST['email'].'\');');
и как я вижу в каждом скрипте ты не указуешь что вводить в таблицу может из-за этого попробуй перепиши скрипт если ты его знаешь нормально то это займет около 30 минут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2011, 18:08
Помогаю со студенческими работами здесь

Пожалуйста не могу понять ошибку?
#include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; int main (int num, char *s) { // num - число, s - указатель на строку ...

Помогите понять ошибку
Не могу понять, что ему не нравится? Обычный вектор векторов: template &lt;class typeData&gt; class Ttest { typedef...

Помогите пожалуйста с условным оператором в запросе
Доброго всем времени суток! Сложилась проблемка с запросом. Необходимо формирование в запросе поля &quot;площадка&quot; в зависимости от...

Помогите найти ошибку в запросе
Народ, подскажите пожалуйста, где тут в коде ошибка, а то пол ночи просидел, переделывал, всё равно такая фигня получается. Проблема в том,...

Помогите понять и исправить ошибку...
#include &lt;iostream&gt; using namespace std; int main () { char cc = &quot;Число&quot;; // Массив автоматической памяти float...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru