
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
Здравствуйте! Помогите пожалуйста решить проблему..
Есть корзина интернет магазина cart.php session_start(); Далее мы переходим на форму заказа zakaz.php echo '<form action="zakaz.php?act=ok" method="post"> После нажатия кнопки ОК данные фильтруются и добавляются в базу: $name=mysql_real_escape_string(htmlspecialchars(trim($_POST['name']))); И тут возникает такая проблема, мне нужно еще добавить в таблицу "zakaz_tovar" id и колличество всех выбранных пользователем товаров. Я делаю так: $id_tovar = $_SESSION['basket'][$id]; $count = $_SESSION['basket'][$id]=$count; mysql_query("INSERT INTO `zakaz_tovar` SET `id_zakaz`='$id_zakaz', `id_tovar`='$id_tovar', `count`='$count';") or die(mysql_error()); Но в базу ничего не заносится.. Что я не так делаю? |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
Я так понял у меня неверный запрос. Помогите его исправить, заранее спасибо!
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6466 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
все поля в таблице varchar?
$name=mysql_real_escape_string(trim($_POST['name'])); покажите эхо запроса -------------------- |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
эти данные заносятся правильно.. Проблема со вторым запросом..
$id_tovar = $_SESSION['basket'][$id]; $count = $_SESSION['basket'][$id]=$count; mysql_query("INSERT INTO `zakaz_tovar` SET `id_zakaz`='$id_zakaz', `id_tovar`='$id_tovar', `count`='$count';") or die(mysql_error()); |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 753 Пользователь №: 32032 На форуме: Карма: 18 ![]() |
чтобы проверить в чем проблема, можно заменить переменные на опр.значения, выполнить запрос и посмотреть в базе добавлились значения или нет, например
mysql_query("INSERT INTO `zakaz_tovar` SET `id_zakaz`='1', `id_tovar`='2', `count`='3'"); вообще странно как сработал запрос, разве ";" там место после city? mysql_query("INSERT INTO `zakaz` SET `name`='$name', `tel`='$tel', `mail`='$mail', `city`='$city';") or die(mysql_error()); |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
mysql_query("INSERT INTO `zakaz_tovar` SET `id_zakaz`='1', `id_tovar`='2', `count`='3'");
работает отлично.... а вот $id_tovar = $_SESSION['basket'][$id]; $count = $_SESSION['basket'][$id]=$count; mysql_query("INSERT INTO `zakaz_tovar` SET `id_zakaz`='$id_zakaz', `id_tovar`='$id_tovar', `count`='$count';") or die(mysql_error()); нивкакую не хочет(( в поле id_tovar добавляет Array, а в поле count вообще пустоту.. |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 753 Пользователь №: 32032 На форуме: Карма: 18 ![]() |
$id = intval($_GET['id']); после $count можно добавить и посмотреть что в переменных
|
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6466 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
alsmev, сорь я не вглядывался :) я еще подумал куда делись числовые поля которые вы пихаете как строки в поле id_tovar добавляет Array смею предположить что у вас и есть массив идентификаторов товаров, а не один идентификатор товара я вам показал как надо оформлять запрос, чтобы можно было легко проконтролировать, что же в конечном итоге уходит в запросе к серверу. трудно? $query="INSERT INTO `zakaz_tovar` SET `id_zakaz`=$id_zakaz, `id_tovar`=$id_tovar, `count`=$count;" а если у вас товаров много, то необходимо собирать многострочный INSERT надеюсь, всю кучу товаров вы не хотите запихать в одно поле... ___ а вообще конечно при таком уровне знаний, рановато вам браться "за корзины" -------------------- |
||
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
ну да правильно, в таблицу zakaz_tovar нужно добавить массив с id и колличеством товаров, где ключевое поле id товара, надеюсь правильно объяснил
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 753 Пользователь №: 32032 На форуме: Карма: 18 ![]() |
тут в сессионную переменную добавляется количество товара
$_SESSION['basket'][$id]=$count; // ключ - айдишник товара, значение - количество товара а тут, id товара присваивается кол-во товара $id_tovar = $_SESSION['basket'][$id]; тут тоже самое, но присваивается переменной count $count = $_SESSION['basket'][$id]=$count; |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
OleKh, не понял вас
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6466 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
alsmev, для начала надо грамотно организовать БД.
Потом еще надо писать кучу проверок на наличие товара на складе, на резерв товара на время оформления заказа. Но если вы не можете сделать обычный инсерт (я уже не гворю про сборку многострочного запроса), если вы не разбираетесь в типах полей, то как -------------------- |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
Valick, я только учусь.. уже второй день мучаюсь с этой проблемой..
сам скрипт магазина уже почти готов, осталось доделать оформление заказа и помелочи исправить баги и добавить некоторые доработки.. |
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 753 Пользователь №: 32032 На форуме: Карма: 18 ![]() |
alsmev, что-то конкретно не понятно или вообще всё ? )
|
||
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 19 Пользователь №: 36368 На форуме: Карма: ![]() |
я ведь написал)
в таблицу zakaz_tovar нужно добавить массив с id и колличеством товаров, где ключевое поле id товара.. $id_tovar = $_SESSION['basket'][$id]; $count = $_SESSION['basket'][$id]=$count; mysql_query("INSERT INTO `zakaz_tovar` SET `id_zakaz`='$id_zakaz', `id_tovar`='$id_tovar', `count`='$count';") or die(mysql_error()); нивкакую не хочет(( в поле id_tovar добавляет Array, а в поле count вообще пустоту.. |
![]() |
![]() ![]() ![]() |