Intereting Posts
Массовая вставка в Laravel с использованием красноречивой ORM Налоговый класс «Нулевая ставка» для каждой роли пользователя для определенных идентификаторов продукта Бинарное хранилище MySQL с использованием файловой системы BLOB VS OS: большие файлы, большие количества, большие проблемы Получение содержимого URL с помощью PHP и Curl система общения mongodb Необходимо получить данные о продуктах из базы данных mysql Получение ошибки в рабочей среде, работающая нормально в localhost Переменная сеанса не сохраняется при перенаправлении в laravel Подзапрос MySQL внутри поля ORDER BY. (без внутренней регистрации) PHP Предупреждение: Неизвестно: произошла ошибка при закрытии оператора в Unknown в строке 0 Как найти файл php.ini (xampp) Artisan: Не удалось найти драйвер Преобразование удаленных относительных путей в абсолютные пути Как работают push-уведомления? Как включить strip client api с symfony2. Как включить файлы без классов в symfony2

какой лучший подход я должен принять для этой проблемы php

Примечание. Этот вопрос опубликован здесь.
всем привет,

У меня есть predefind список из 15 ключевых слов, и есть таблица mysql против каждого ключевого слова. Теперь то, что я хочу сделать, это то, что сначала я хочу проверить ключевое слово, а затем вставить его в соответствующую таблицу. Этот процесс продолжается agian и снова под петлей foreach. Мой вопрос заключается в том, какой подход следует использовать, т. Е. С помощью if else, например

 foreach ($ keyword as $ key => $ val)
 {
   если ($ VAL === 'keyword1'
    {
      $ query = "insert into values1_tab values ​​('', $ val);
      $ rs = mysql_query ($ query) или die (mysql_error ());
    }
    еще
       если ($ VAL === 'keyword2')
        {
          $ query = "insert into values2_tab values ​​('', $ val);
          $ rs = mysql_query ($ query) или die (mysql_error ());
        }
      еще
        ,
        ,
        ,
        ,
        ,
       еще
        если ($ VAL === 'keyword15')
        {
        $ query = "insert into values3_tab values ​​('', $ val);
        $ rs = mysql_query ($ query) или die (mysql_error ());
        }
 }

Или что-то еще используется для этого, которое может поддерживать скорость и согласованность.

Solutions Collecting From Web of "какой лучший подход я должен принять для этой проблемы php"

$tables = array('keyword1' => 'keyword1_tab', 'keyword2' => 'keyword2_tab' ...); foreach($keyword as $key=>$val) { if (isset($tables[$val])) { $query="insert into `".$tables[$val]."` values('', '".$val."')"; $rs = mysql_query($query) or die(mysql_error()); } } 

Вы должны использовать только одну таблицу. Период.

Это единственный правильный способ.
Использование отдельных таблиц для одного и того же вопроса противоречит всем правилам.
Вам необходимо изучить основы реляционных баз данных и привести схему вашей базы данных в эти основные правила.

Однако я не вижу смысла в этих вставках. Что вы делаете в целом? Какова цель всех вставок?

Вы всегда можете сделать это красивее с помощью корпуса коммутатора:

 foreach($keywords as $key=>$val){ $query = ""; switch($val){ case "keyword1": $query = "YOUR_QUERY_HERE"; break; case "keyword2": $query = "YOUR_QUERY_HERE"; break; } if(query != ""){ $rs = mysql_query($query) or die(mysql_error()); } }