Я пытаюсь вставить несколько тегов в базу данных. Я использую плагин TokenInput для сбора тегов пользователей. я получаю строку тегов через запятую, например:Вставка нескольких тегов в базу данных в PHP
if($_POST) {
$data = $_POST['tags'];
$tags = explode(",", $data);
$snap = 6;
echo $data;
}
Данные поступают из АЯКС функции. Когда вторя $ данных я получаю строку, как это:
Zara, AllSaints
Тогда я продолжу, чтобы отделить их от взрываться() и цикл через созданный массив.
if($_POST) {
$data = $_POST['tags'];
$tags = explode(",", $data);
$snap = 6;
for($x = 0; $x < count($tags); $x++) {
mysql_query("INSERT INTO tags (tagid, tagname, snapid) VALUES ('', '$tags[x]', '$snap')");
}
}
Этот код введет пустые значения в «тэг». Есть ли у вас какие-либо предложения, что я должен изменить, чтобы сделать эту работу? Должен ли я переписать код цикла? Благодарим вас за помощь.
Эй, спасибо за предложение. Я действительно не знаю, как использовать эту функцию array_map(). Кроме того, об этом: $ sql = "INSERT INTO теги (tagid, тэг, snapid) VALUES". implode (",", $ values); mysql_query ($ sql); Это не работает, и я ничего не получаю. – davidb
'array_map' возвращает для каждого элемента модифицированного значения массива. В этом случае для каждого тега возвращается sql-строка со значениями для вставки. Функции php array_ * - это более крутой способ работы с массивами :) –