Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 52
1

Добавление данных в БД через форму

19.05.2014, 00:14. Показов 1070. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Применил запросо к MySQL в PHP, но столкнулся с тем что в одной и тойже таблице одни поля заполняются а другие нет.
Вот отрывок:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if($_SESSION['cart'] && isset($_POST['order']))
{
    foreach($_POST as $ArrKey => $ArrStr) 
    {
        $ArrKey = $_POST[$ArrKey];
    }
    $date = date('Y-m-d');
    $time = date('H:i:s');
    
    foreach($_SESSION['cart'] as $id => $quantity):
    $product = get_product($id);
        $result = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    endforeach;
    
 
}
name,s_name,address,email,post_index - эти поля не заполняются! С остальными полями нет проблем.

Код всей страницы:
PHP/HTML
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<h2 align="center">Оформление заказа</h2>
 
<?
if($_SESSION['cart'] && !isset($_POST['order']))
{
?>
<form action="index.php?view=order" method="post" id="cart-form">
 
<table id="mycart" align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
            <th>Товар</th>
            <th>Цена</th>
            <th>Кол-во</th>
            <th>Всего</th>
      </tr>
 
      <? foreach($_SESSION['cart'] as $id => $quantity):
         $product = get_product($id);
      ?>
        
      <tr>
          <td align="center"><?=$product['title'];?></td>
          <td align="center">$<?=number_format($product['price'],2);?></td>
          <td align="center"><?=$quantity;?></td>
          <td align="center">$<?=number_format($product['price'] * $quantity ,2);?></td>
      </tr>
      
      <?endforeach;?>
      
</table>    
     <p class="total" align="center">Общая сумма заказа: <span class="product-price"><?=number_format($_SESSION['total_price'],2);?> $</span></p>
     
     <p align="center" style="color:  #fff;">
     Ваше Имя: <br />
     <input type="text" name="name"/><br/>
     Ваша Фамилия: <br />
     <input type="text" name="s_name"/><br/>
     Ваш адрес: <br />
     <input type="text" name="address"/><br/>
     Почтовый индекс: <br />
     <input type="text" name="post_index"/><br/>
     Ваш e-mail: <br />
     <input type="text" name="email"/><br/>
     </p>
     
     
     <p align="center"><input type="submit" name="order" value="Заказать" /></p>    
</form>
 
<?
}
if($_SESSION['cart'] && isset($_POST['order']))
{
    foreach($_POST as $ArrKey => $ArrStr) 
    {
        $ArrKey = $_POST[$ArrKey];
    }
    $date = date('Y-m-d');
    $time = date('H:i:s');
    
    foreach($_SESSION['cart'] as $id => $quantity):
    $product = get_product($id);
        $result = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    endforeach;
    
    echo "<p align='center' style='color: #fff;'>Ваш заказ успешно принят! Спасибо за покупку!</p>";
}
?>
В чем проблема?
Вот так выглядит все это в БД
Миниатюры
Добавление данных в БД через форму  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2014, 00:14
Ответы с готовыми решениями:

Добавление в базу данных через форму
У меня есть вопрос не могу понять почему данные не добавляются в таблицу хотя делаю все правильно...

Добавление в базу данных через форму
Помогите, пожалуйста! Новичок в этой среде. Не работает обработчик php при подключении, выдает...

Php и добавление в базу данных через форму
Доброе утро. уже пролистал весь интернет и ролики по этому делу, но данные так и не вводятся.....

Добавление кода в базу данных через форму
Здравствуйте. У меня вопрос. К сожалению не смог найти никакой подходящей информации по этому...

1
0 / 0 / 0
Регистрация: 23.01.2012
Сообщений: 52
21.05.2014, 12:50  [ТС] 2
Народ кто тоже столкнулся с этой проблемой, вот ответ:
PHP/HTML
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
<?
}
if($_SESSION['cart'] && isset($_POST['order']))
{
    foreach($_POST as $ArrKey => $ArrStr) 
    {
        $ArrKey = $_POST[$ArrKey];
    }
    $date = date('Y-m-d');
    $time = date('H:i:s');
    $name = mysql_real_escape_string($_POST['name']);
    $s_name = mysql_real_escape_string($_POST['s_name']);
    $address = mysql_real_escape_string($_POST['address']);
    $post_index = mysql_real_escape_string($_POST['post_index']);
    $email = mysql_real_escape_string($_POST['email']);
    $phone = mysql_real_escape_string($_POST['phone']);
    
    
    foreach($_SESSION['cart'] as $id => $quantity):
    $product = get_product($id);
        $result = mysql_query("INSERT INTO `orders`(date,time,product,prod_id,price,qty) VALUES ('$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    $result = mysql_query("INSERT INTO `pokupatel`(name,s_name,address,post_index,email,phone,id_order) VALUES ('$name','$s_name','$address','$post_index','$email','$phone','{$orders['id']}')");  
    
    endforeach;
    
    echo "<p align='center' style='color: #c51d02;'>Ваш заказ успешно принят! Спасибо за покупку!</p>";
}
?>
Не знаю правильно ли на 100%, но у меня все работает.
Я еще тут разделил данные которые добовляются в две таблицы: date,time,product,prod_id,price,qty в таблицу orders
'$name','$s_name','$address','$post_index','$email','$phone','{$orders['id']}' в таблицу pokupatel.
Есть еще одна проблема: чтобы данные в поле id таблицы orders копировалось в поле id_order таблицы pokupatel при нажании кнопки ЗАКАЗАТЬ.

Добавлено через 20 часов 23 минуты
Цитата Сообщение от mr.Hatiman Посмотреть сообщение
Есть еще одна проблема: чтобы данные в поле id таблицы orders копировалось в поле id_order таблицы pokupatel при нажании кнопки ЗАКАЗАТЬ.


после выполнения первого запроса надо вставить: Код PHP
1 $new_id = mysql_insert_id();


это будет последний добавленный ид в таблицу `orders`, ну и соответственно в запросе добавить уже $new_id вместо {$orders['id']}
0
21.05.2014, 12:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2014, 12:50
Помогаю со студенческими работами здесь

Добавление информации в базу данных через форму
Доброго времени суток!) Помогите решить проблему Есть база данных на PhpMyAdmin, таблица под...

Добавление данных через форму в таблицу базы данных MS SQL
Здравствуйте! Я делаю форму для добавления записи в таблицу базы данных, созданную в MS SQL...

Добавление данных на БД через форму
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\test.ur\add.php on...

Добавление данных через форму
Создал форму &quot;прием заявки&quot; для добавления данных о новом заказе. --Не получается ввести данные о...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru