Я использую плагин Chosen для создания select
, который может динамически добавлять новый option
, если искомый не найден.select
извлекает данные из таблицы mySQL (1 столбец) и вставляет их в select
как option
(inc/topicselect.inc.php
файл).
Для добавления нового option
в select
Я использую код JavaScript внутри chosen.jquery.js
ниже (случай 13), подключенный к клавише Enter.Теперь это работает отлично, но только временно вставляет его в select
, что означает, что после обновления все исчезло.
Я пытаюсь добиться этого, добавить новое добавленное option
и вставитьэто в таблицу с использованием PHP (последний фрагмент кода), так что позже он будет постоянно показываться всем пользователям, использующим эту (рабочую) выборку из более ранних версий.
Любые идеи о том, как я могу соединить этот javascript сPHP вставить?
<select data-placeholder="Wybierz tematy:" class="topic-dropdown" name="topic" action="inc/topicselect.inc.php" class="chosen-select" multiple>
<?php require 'inc/topicselect.inc.php' ?>
</select>
case 13:
evt.preventDefault();
if (this.results_showing) {
if (!this.is_multiple || this.result_highlight) {
return this.result_select(evt);
}
$(".topic-dropdown").append('<option>' + $(evt.target).val() + '</option>');
$(".topic-dropdown").trigger('chosen:updated');
this.result_highlight = this.search_results.find('li.active-result').lastreturn;
this.result_select(evt);
}
break;
<?php if(isset($_POST["?"])) {
require "connect.inc.php";
$topic=$_POST["topicname"];
if(empty($topic)) {
header("Location: ../index.php#dodajpost?puste");
exit();
}
else {
$sql="SELECT name FROM topics WHERE name=?";
$stmt=mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: ../index.php#dodajpost?error=sqlerror");
exit();
}
else {
mysqli_stmt_bind_param($stmt, "s", $_POST["topicname"]);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
$resultcheck=mysqli_stmt_num_rows();
if($resultcheck > 0) {
header("Location: ../index.php#dodajpost?jużjest");
exit();
}
else {
$sql="INSERT INTO topics (name) VALUES (?)";
$stmt=mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: ../index.php#dodajpost?błądzapisu");
exit();
}
else {
mysqli_stmt_bind_param($stmt, "s", $_POST["topicname"]);
mysqli_stmt_execute($stmt);
header("Location: ../index.php#dodajpost");
exit();
}
}
}
}
mysqli_stmt_close($stmt);
mysqli_close($conn);
}
else {
header("Location: ../index.php#dodajpost?errorstart");
exit();
}
?>