Сохранение и отображение PHP в раскрывающемся меню

Я пытаюсь создать базовый сценарий PHP, в котором я могу вставлять данные в базу данных MYSQL, а затем, если такая опция уже существует, увеличивать ее на единицу. Пример:

         Happy      Bored
Name1:     1          0
Name2:     0          1

И если я снова выберу счастливый для Name1 и Name2, результат должен измениться на:

         Happy      Bored
Name1:     2          0
Name2:     1          1

Код HTML:

<select name = "moods">
<option value = "happy" selected = "selected">Happy</option>
<option value = "bored">Bored</option>
</select>
Вы можете использовать auto_increment.
deEr. 15.04.2018 10:14

Вставить ... при обновлении повторяющегося ключа ...

Strawberry 15.04.2018 10:15

не могли бы вы показать мне структуру таблицы

Anfath Hifans 15.04.2018 10:26

@Anfath Hifans таблица еще не существует, не стесняйтесь придумывать ее.

Jacob K. 15.04.2018 17:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
92
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Создайте таблицу со следующими кодами

CREATE TABLE `tmp` (
  `id` int(11) NOT NULL,
  `Name1` varchar(256) NOT NULL,
  `Name1_count` int(11) NOT NULL,
  `Name2` varchar(256) NOT NULL,
  `Name2_count` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `tmp` (`id`, `Name1`, `Name1_count`, `Name2`, `Name2_count`) VALUES
(1, 'Happy', 0, 'Happy', 0),
(2, 'Bored', 0, 'Bored', 0);

после создания таблица будет похожа на прикрепленное изображение

Следующий,

добавьте следующий sql-запрос в свои коды.

если вы используете PDO соединение, используйте как показано ниже,

$value = 'Happy';

$sql_1 = "UPDATE `tmp` SET Name1_count = Name1_count+1 WHERE `Name1` = ?";
$exec_1 = $pdo->prepare($sql_1)->execute([$value]);

$sql_2 = "UPDATE `tmp` SET Name2_count = Name2_count+1 WHERE `Name2` = ?";
$exec_2 = $pdo->prepare($sql_2)->execute([$value]);

если вы используете фреймворк codeigniter, используйте как показано ниже

$this->db->set("Name1_count", "Name1_count+1", false)->where(array('Name1' => $value))->update('tmp');
$this->db->set("Name2_count", "Name2_count+1", false)->where(array('Name2' => $value))->update('tmp');

Большое спасибо. Я создал таблицы, как вы сказали, к сожалению, я застрял в попытках понять, как это реализовать. Мой index.php сейчас в беспорядке: pastebin.com/Vf5p1zqS

Jacob K. 16.04.2018 11:20

@JacobK обновите вашу проверку отправки, используя следующие коды pastebin.com/zf3dBcnB

Anfath Hifans 16.04.2018 11:49

Спасибо! Я добавил это, и теперь он обновляет базу данных. Но проблема в том, что если я выбираю Happy для Name1 и Bored для Name2, он не обновляется. Извините за беспокойство. Текущий индекс: pastebin.com/sZMiAgYC

Jacob K. 16.04.2018 12:04

@JacobK. теперь вы используете 2 поля выбора, поэтому мы не можем назначить одно и то же имя для любого поля, мы можем изменить имя полей выбора или мы можем сделать поле выбора как поле массива ... так что здесь я делаю поле выбора как поле массива. Я добавил коды ... замените коды здесь. : pastebin.com/NP0Ev1rc

Anfath Hifans 16.04.2018 12:23

Спасибо, сэр, вы гений. Еще один вопрос, пожалуйста. После того, как я нажму кнопку отправки, как мне получить сохраненные результаты для каждого имени пользователя? Прямо как пример из основного поста. Спасибо !!!

Jacob K. 16.04.2018 13:08

@JacobK. вот ответ на ваш последний вопрос: pastebin.com/ZgRqLM0i Надеюсь, я ответил на все ваши вопросы. отметьте, пожалуйста, мой ответ полезен, если он вам пригодится :)

Anfath Hifans 16.04.2018 14:28

Я это уже пометил. Большое спасибо и извините, но не могли бы вы ответить мне на последний вопрос? Я пытаюсь отобразить информацию в плагине под названием DataTables. Я использовал что-то вроде этого, но ... я не знаю, как получить информацию из базы данных для заполнения строк. Спасибо!!! Index.php: pastebin.com/FVGD2xLt

Jacob K. 16.04.2018 16:02

@JacobK. посмотрите здесь, вы получите представление: w3schools.com/php/php_mysql_select.asp

Anfath Hifans 16.04.2018 16:43

К сожалению, мне не удалось отобразить базу данных в таблицах данных. :(

Jacob K. 21.04.2018 15:13

@JacobK. я не понял тебя. не могли бы вы объяснить это

Anfath Hifans 21.04.2018 15:18

«Я пытаюсь отобразить информацию в подключаемом модуле под названием DataTables. Я использовал что-то вроде этого, но ... я не знаю, как получить информацию из базы данных для заполнения строк. Спасибо !!! Index.php: pastebin.com/XYVPSsnJ "

Jacob K. 21.04.2018 15:27

вот код для перечисления значений, чтобы показать результаты, как вы упомянули в вопросе: pastebin.com/xdAecDtb

Anfath Hifans 21.04.2018 15:56

Спасибо за ответ, но, к сожалению, ничего не показывает. Ни каких ошибок в консоли. знак равно

Jacob K. 21.04.2018 16:21

По-прежнему не работает, но мой файл подключается к базе данных следующим образом: pastebin.com/rD2TWip2 Я не знаю, имеет это значение или нет, но другая информация (статика) отображается в таблице. Только тот из дб нет.

Jacob K. 21.04.2018 16:37

Другие вопросы по теме