Получение выбранных флажками данных из таблицы A, вставленной в таблицу B - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть таблица А с тысячами записей. На каждой отображаемой странице отображаются только 20 строк со следующими полями:

check
last_name 
first_name 
gr 
eth 
sex 
id_num (a unique value)
reason 
start_date

Поле «check» указывает на флажок, который может установить пользователь. Внизу каждой страницы из 20 записей находится кнопка выбора. Я хочу взять уникальный id_num из строк, выбранных пользователем из таблицы A, и вставить их в таблицу B. (Метод post.)

Флажок ввода кода:

$html = <input type='checkbox' name='checkbox[]'
                      id = '' value='<?PHP echo $aRecords [ \"id_num\" ]; ?>' />" ;

SQL после строк на странице выбирается пользователем:

include_once "db_login.php" ;
if ( isset ( $_POST [ checkbox] ) ) 
   { 
      foreach ( $_POST [ 'checkbox' ] as $checkbox )
         {
            $sql = "INSERT INTO sap_id_select ( select_id )
                    VALUES ( '<???>' ) " ;
            mysql_query ( $sql ) or ( "Error " . mysql_error () ) ;
         }
   }

Также пробовал, помимо многих других вещей:

foreach ( $_POST [ 'checkbox' ] as $checkbox )
         {
            $id_list = implode(',',$_POST['checkbox']);
            $sql = "INSERT INTO sap_id_select ( select_id )
                    VALUES ( '{$id_list}' ) " ;
         }

Как я могу получить поле id_num в массив $_POST и затем в таблицу B?

Ответы [ 3 ]

1 голос
/ 03 марта 2010
 $html = <input type='checkbox' name='checkbox[]'
                  id = '' value='<?PHP echo $aRecords [ \"id_num\" ]; ?>' />" ;

Вам не хватает открытой цитаты? Таким образом, вышеприведенное не дает вам ошибки, означающей, что ваша начальная цитата находится выше этой строки, другими словами, она все испортила. Используйте редактор, который раскрасит ваш синтаксис.

Предполагая, что вы хотите написать

 $html = "<input type='checkbox' name='checkbox[]'
                  id = '' value='<?PHP echo $aRecords [ \"id_num\" ]; ?>' />" ;

тогда php будет интерпретировать бит <? PHP буквально, что объясняет то, что вы видите. Вы хотите просто: </p>

 $html = "<input type='checkbox' name='checkbox[]'
                  id = '' value='".$aRecords["id_num"]."' />" ;

Или то, что вы написали, находится не в php-оправданной части вашего кода, тогда все, что я могу предложить, это поставить <? Php вместо <? PHP, но я очень сомневаюсь, что это вызывает проблемы. Моя ставка выше. </p>

0 голосов
/ 27 февраля 2010

Винсент - я изменил код ввода html-флажка на

$html .= "<input type='checkbox' name='checkbox[]' id = ''
            value='$aRecords ['id_num']' />" ;

Предполагая, что это правильно (?), Каким будет мой оператор SQL INSERT для вставки уникального номера записи (id_num) в таблицу B ?? Следующий SQL, конечно, не работает.

include_once "db_login.php" ;
if ( isset ( $_POST [ checkbox] ) ) 
   {  
      foreach ( $_POST [ 'checkbox' ] as $checkbox )
         {  
            $sql = "INSERT INTO sap_id_select ( selected_id )
                    VALUES ( '{ $_POST [ checkbox ]}'
                           ) " ;
            mysql_query ( $sql ) or ( "Error " . mysql_error () ) ;
         }
   }
0 голосов
/ 26 февраля 2010

Похоже, у вас все в порядке.попробуйте

  $sql = "INSERT INTO sap_id_select ( select_id )
                VALUES ( '.$checkbox.' ) " ;

Возможно, вы можете сказать, есть ли конкретные ошибки, которые вы получаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...