|
|
|
| Всем привет!!!
Есть проблема с занесением массива в БД
Вот код
<script type="text/javascript">
//Добавление полей для email
function addLine(btn)
{
if(document.getElementById)
{
while (btn.tagName != 'TR') btn = btn.parentNode;
var newTr = btn.parentNode.insertBefore(btn.cloneNode(true),btn.nextSibling);
thisChilds = newTr.getElementsByTagName('td');
}
}
//Удаление полей
function delLine(btn)
{
if(document.getElementById)
{
while (btn.tagName != 'TR') btn = btn.parentNode;
btn.parentNode.removeChild(btn);
}
}
function randomize(low_limit, hi_limit)
{
return Math.round(Math.random() * (hi_limit - low_limit) + low_limit);
}
</script>
<br />
<form name=form action="contract.php?act=obrab" method="POST" id="email">
<table id="form">
<tr>
<td>
Email
</td>
<td>
Домен
</td>
<td>
Пароль
</td>
<td>
Квота
</td>
<td>
Дата начала
</td>
<td colspan="2">
Дата окончания
</td>
</tr>
<tr>
<td>
<input type="text" name="email[]">
</td>
<td>
<input type="text" name="domen[]">
</td>
<td>
<script type="text/javascript">
var w = Math.round(Math.random()*1566 + 345 / 43);
document.write("<input type='text' name='password[]' value="+w+">");
</script>
</td>
<td>
<input type="text" name="qouta[]" value="50">
</td>
<td>
<input type="text" name="date_s[]">
</td>
<td>
<input type="text" name="date_c[]">
</td>
<td>
<input type="button" onClick="addLine(this)" value=" + " /><br />
<input type="button" value=" - " onClick="delLine(this)">
</td>
</tr>
</table>
<p><input type="submit" value="Ок"></p>
</form>
<?php
break;
case "obrab":
//Обрабатываем данные
$email = $_POST['email'];
$domen = $_POST['domen'];
$password = $_POST['password'];
$qouta = $_POST['qouta'];
$date_s = $_POST['date_s'];
$date_c = $_POST['date_c'];
echo (count($email));
//print_r($email);
//Добавляем записи в БД
//$i = count($email[]);
for($j = -1; $j <= count($email); $j++)
{
$email = $email[$j];
$password = $password[$j];
$qouta = $qouta[$j];*/
$date_s = $date_s[$j];
$date_c = $date_c[$j];
$query = "INSERT INTO box VALUES(email = '$email', date_started = '$date_s', date_closed = '$date_c', num_contr = 'ddd')";
if(mysql_query($query))
{
echo "Ок";
}
else
{
echo "<br />Error: ".mysql_error();
}
}
|
В бд появляются нули
CREATE TABLE `box` (
`email` varchar(128) NOT NULL default '',
`date_started` tinytext NOT NULL,
`date_closed` tinytext NOT NULL,
`num_contr` varchar(64) NOT NULL default '',
PRIMARY KEY (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
| |
|
|
|
|
|
|
|
для: Spyder
(06.04.2007 в 09:44)
| |
INSERT INTO box VALUES(email = '$email', date_started = '$date_s', date_closed = '$date_c', num_contr = 'ddd')
|
откуда дровишки? | |
|
|
|
|
|
|
|
для: Trianon
(06.04.2007 в 09:51)
| | >откуда дровишки?
Не понял, что имеешь ввиду? | |
|
|
|
|
|
|
|
для: Spyder
(06.04.2007 в 10:10)
| | Откуда взят этот текст? Такой записи оператора INSERT я не видел еще нигде. | |
|
|
|
|
|
|
|
для: Trianon
(06.04.2007 в 09:51)
| | Интересный симбиоз двух вариантов написания запроса...
Вместо VALUES напишите SET | |
|
|
|
|
|
|
|
для: Thrasher
(06.04.2007 в 14:08)
| | Я умею писать запросы.
Ваш вариант тоже ошибочен. | |
|
|
|
|
|
|
|
для: Trianon
(06.04.2007 в 14:35)
| | >Я умею писать запросы.
Ничуть не сомневаюсь.
>Ваш вариант тоже ошибочен.
В чем? Скобки естественно не нужно ставить. | |
|
|
|
|
|
|
|
для: Thrasher
(06.04.2007 в 15:11)
| | >
>>Ваш вариант тоже ошибочен.
>В чем? Скобки естественно не нужно ставить.
Вот как раз в том, что если вместо VALUES написать SET, то скобки сами по себе никуда не уйдут. | |
|
|
|
|
|
|
|
для: Trianon
(06.04.2007 в 15:19)
| | Переделал
$query = "INSERT INTO box VALUES('$email[$j]', '$date_s[$j]', '$date_c[$j]', '$num_contr')";
|
Все заработало | |
|
|
|