Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Запись массива


Автор: R.M. 11.3.2006, 10:54
Подскажите пожалуйстак как записать массив? Т.е. у меня есть таблица из которой я биру имена для чекбоксов и есть таблица в которую должны записаться "1" если чекбокс выбран и "0" если невыбран. В 1 таблице столько же полей сколько и во второй.

Код

<?
if(!isset($_POST['ok']))
{
  include("mysql.php");
  echo "
  <big>Добавление открытки</big><br><br>
  <form action=addcard.php method=post>
  ";
  $sel = mysql_query("SELECT eng,rus FROM rus GROUP BY rus");
  while ($row = mysql_fetch_assoc($sel))
  {
    echo "<input type=checkbox name=".$row['eng']."> ".$row['rus']."<br>";
  }
  echo "<br><input type=submit name=ok value=Добавить><br>";
}
else
{
$ins = mysql_query("INSERT INTO postcards VALUES('id',   //  Сюда надо записать сказанное выше
}
?>

Автор: HalkaR 11.3.2006, 11:58
не вдаваясь в особенности кода.
Код

<?
if(!isset($_POST['ok']))
{
  include("mysql.php");
  echo "
  <big>Добавление открытки</big><br><br>
  <form action=addcard.php method=post>
  ";
  $sel = mysql_query("SELECT eng,rus FROM rus GROUP BY rus");
  while ($row = mysql_fetch_assoc($sel))
  {
    echo "<input type=checkbox name=".$row['eng']."> ".$row['rus']."<br>";
  }
  echo "<br><input type=submit name=ok value=Добавить><br>";
}
else
{
    $sel = mysql_query("SELECT eng,rus FROM rus GROUP BY rus");
  while ($row = mysql_fetch_assoc($sel))
  {
    if(isset($_POST[$row['eng']]))
    {
       $ins = mysql_query("INSERT INTO postcards VALUES('id',  123");
    }
  }

}
?>

Автор: CyClon 11.3.2006, 16:07
Не читая код, отвечаю на вопрос - если что не так - название темы должно максимально отражать ее суть ;)

Запись массива, для одномерного самый оптимальный вариант:

Код
foreach ($array as $string)
{
    mysql_query("INSERT `site_table` VALUES('$string', '123')");
}


Т.е. поиндексно проходится массив, представляя его значение строкой $string.

Можно так и для многомерных массивов, но это не оптимально. Юзаем конструкцию for... Суть - та же. Поидексный проход...

Код
$count = sizeof($array);

for ($i = 0; $i < $count; $i++)
{
    $string = $array[3][$i];
    mysql_query("INSERT `site_table` VALUES('$string', '123')");
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)