Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавление массива данных в БД
 
 автор: Spyder   (06.04.2007 в 09:44)   письмо автору
 
 

Всем привет!!!
Есть проблема с занесением массива в БД
Вот код

 <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="&nbsp;+&nbsp;" /><br />
      <input type="button" value="&nbsp;-&nbsp;" 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;


   
 
 автор: Trianon   (06.04.2007 в 09:51)   письмо автору
 
   для: Spyder   (06.04.2007 в 09:44)
 


INSERT INTO box VALUES(email = '$email', date_started = '$date_s', date_closed = '$date_c', num_contr = 'ddd')

откуда дровишки?

   
 
 автор: Spyder   (06.04.2007 в 10:10)   письмо автору
 
   для: Trianon   (06.04.2007 в 09:51)
 

>откуда дровишки?
Не понял, что имеешь ввиду?

   
 
 автор: Trianon   (06.04.2007 в 13:55)   письмо автору
 
   для: Spyder   (06.04.2007 в 10:10)
 

Откуда взят этот текст? Такой записи оператора INSERT я не видел еще нигде.

   
 
 автор: Thrasher   (06.04.2007 в 14:08)   письмо автору
 
   для: Trianon   (06.04.2007 в 09:51)
 

Интересный симбиоз двух вариантов написания запроса...
Вместо VALUES напишите SET

   
 
 автор: Trianon   (06.04.2007 в 14:35)   письмо автору
 
   для: Thrasher   (06.04.2007 в 14:08)
 

Я умею писать запросы.

Ваш вариант тоже ошибочен.

   
 
 автор: Thrasher   (06.04.2007 в 15:11)   письмо автору
 
   для: Trianon   (06.04.2007 в 14:35)
 

>Я умею писать запросы.

Ничуть не сомневаюсь.

>Ваш вариант тоже ошибочен.

В чем? Скобки естественно не нужно ставить.

   
 
 автор: Trianon   (06.04.2007 в 15:19)   письмо автору
 
   для: Thrasher   (06.04.2007 в 15:11)
 

>
>>Ваш вариант тоже ошибочен.
>В чем? Скобки естественно не нужно ставить.
Вот как раз в том, что если вместо VALUES написать SET, то скобки сами по себе никуда не уйдут.

   
 
 автор: Spyder   (08.04.2007 в 07:49)   письмо автору
 
   для: Trianon   (06.04.2007 в 15:19)
 

Переделал

$query = "INSERT INTO box VALUES('$email[$j]', '$date_s[$j]', '$date_c[$j]', '$num_contr')"; 

Все заработало

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования