Я ищу некоторую помощь по проблеме. Я пытаюсь вставить значения из массива в таблицу MySQL отдельно. Таким образом, не весь массив в одной строке, а в отдельных записях.Отдельные записи в массиве DB
форма что-то вроде этого:
<form <form class="reg" name="main_form" action="form.php" method="post">>
<ul>
<li>
<label for="text1">
<input type="checkbox" name="task[]" value="text1" />text1
</label>
</li>
<li>
<label for="text2">
<input type="checkbox" name="task[]" value="text2" />text2
</label>
</li>
<li>
<label for="text3">
<input type="checkbox" name="task[]" value="text3" />text3
</label>
</li>
</ul>
<input type="submit" value="submit" />
</form>
В form.php у меня есть что-то вроде этого на данный момент whic работает, чтобы поместить все выбранные ящики в один ряд в таблице:
<?php
require 'db/config.php';
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link){
die('Could not connect due to: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected){
die('Can\'t use: ' . DB_NAME . ': ' . mysql_error());
}
$task = implode (PHP_EOL, $_POST['task']);
$sql = "INSERT INTO completed (task) VALUES ('$task')";
if (!mysql_query($sql)){
die('Error: ' . mysql_error());
}
mysql_close();
?>
Если кто-то должен был пойти и установить флажок для всех трех (text1, 2 & 3), мне нужно, чтобы он был введен в БД в виде трех отдельных записей и не был сгруппирован вместе.
Я думаю, что мне нужно использовать что-то вроде explode(), прежде чем форма фактически загрузит их в БД, но я не уверен на 100%. Любая помощь будет оценена по достоинству.
Просто хотел сказать, как примечание стороны, что, как говорит Kordi расширение MySQL является устаревшим, но не только, что он был удален из самой последней версии PHP, поэтому следует избегать его использования. – vove
@vove для уведомления о том, что он полностью удален из последней версии php. Добавлено это на мой пост. – Kordi