2011-12-20 2 views
0

Итак, у меня есть форма, которая представляет 7 текстовых полей, каждый из которых содержит текст за день недели. (показывает специальные предложения для баров в день). Сейчас я использую следующий код, чтобы отправить его в базу данных. Есть ли более простой способ (используя массивы или цикл for) для выполнения этой функции?Добавление нескольких текстовых полей в базу данных php/MySQL

$special_0 = mysql_real_escape_string(stripslashes($_POST['special_0'])); 
$special_1 = mysql_real_escape_string(stripslashes($_POST['special_1'])); 
$special_2 = mysql_real_escape_string(stripslashes($_POST['special_2'])); 
$special_3 = mysql_real_escape_string(stripslashes($_POST['special_3'])); 
$special_4 = mysql_real_escape_string(stripslashes($_POST['special_4'])); 
$special_5 = mysql_real_escape_string(stripslashes($_POST['special_5'])); 
$special_6 = mysql_real_escape_string(stripslashes($_POST['special_6'])); 


mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','0','.$special_0.')') or die(mysql_error()); 
mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','1','.$special_1.')') or die(mysql_error()); 
mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','2','.$special_2.')') or die(mysql_error()); 
mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','3','.$special_3.')') or die(mysql_error()); 
mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','4','.$special_4.')') or die(mysql_error()); 
mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','5','.$special_5.')') or die(mysql_error()); 
mysql_query('INSERT INTO specials (bid, day_of_week,special) VALUES('.$bid.','6','.$special_6.')') or die(mysql_error()); 

ответ

1

Вы можете струнные все вставки в одно обязательство:

mysql_query('INSERT INTO specials (bid, day_of_week,special) 
VALUES('.$bid.','0','.$special_0.'), 
('.$bid.','1','.$special_1.'), 
('.$bid.','2','.$special_2.'), 
('.$bid.','3','.$special_3.'), 
('.$bid.','3','.$special_4.'), 
('.$bid.','3','.$special_5.'), 
('.$bid.','3','.$special_6.'); 
+0

ок, спасибо. У меня также есть таблица будних дней, у которой есть week_number и week_day. Есть ли способ отредактировать это и иметь только одну строку вставки? – tytyguy

+0

Не уверен, не видя свой код. Кроме того, вы можете использовать более чистый формат PHP: $ SQL = «INSERT INTO события (ставка, DAY_OF_WEEK, специальные) VALUES ('{$ предложение}', '0', '{$ special_1}') "; mysql_query ($ sql); –

Смежные вопросы