Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: MYSQL
Форумы портала PHP.SU » » Вопросы новичков » MYSQL

Страниц (1): [1]
 

1. file.shreder - 06 Апреля, 2015 - 21:56:31 - перейти к сообщению
Помогите разобраться, кто знает... есть таблица в базе, с содержимым, 550 строк, надо перенести в другую таблицу, я написал такой скриптик, по логике вещей должно работать, но получилась маленькая непонятка, не могу ее устранить
Вот сам скрипт
PHP:
скопировать код в буфер обмена
  1. $a = array();
  2. $r = mysqli_query($link, "SELECT `id`, `member_or_not`, `povne_naymenuvannya`, `EDRPOU`, `region` FROM `table_1` ORDER BY `id` DESC") or die(mysqli_error($link));
  3. while($str = mysqli_fetch_assoc($r)) {
  4.       $a[] = $str;
  5.         }
  6.         foreach($a as $s):
  7.        
  8.            $id = $s['id'];
  9.            $member_or_not = $s['member_or_not'];
  10.            $povne_naymenuvannya = $s['povne_naymenuvannya'];
  11.            $EDRPOU = $s['EDRPOU'];
  12.            $region = $s['region'];
  13.                
  14.            mysqli_query($link, "INSERT INTO `zvit_1` (`pidriemstvo_id`, `povne_naymenuvannya`, `EDRPOU`, `region`, `member_or_not`) VALUES
  15.            ('$id', '$povne_naymenuvannya', '$EDRPOU','$region', '$member_or_not')") or die(mysqli_error($link));
  16.            //echo $id;
  17.         endforeach;

он соответственно выбирает записи из одной таблицы и переносит в другую, проблема возникла в том, что id выбирается из первой таблицы, и записывается в ту таблицу в которую переношу, в столбец pidriemstvo_id, то есть идентификаторы, чтобы можно было сравнивать по ним данные из обеих таблиц....
пишет так (id) 1 2 3 4 5 6 7.... а в pidriemstvo_id 1 2 3 4 6
И дальше тоже такие места повторяются... и все сбивается в конце
(Добавление)
Все, я понял!!!! Вроде
(Добавление)
Неф!!! Не понял!!!
2. Faraon-san - 06 Апреля, 2015 - 22:17:51 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE IF NOT EXISTS `zvit_2` (
  2.         `id` int(20) NOT NULL AUTO_INCREMENT,
  3.         `pidriemstvo_id` int(20) NOT NULL,
  4.         `povne_naymenuvannya` varchar(255) NOT NULL,
  5.         `EDRPOU` varchar(255) NOT NULL,
  6.         `region` varchar(255) NOT NULL,
  7.         `member_or_not` varchar(255) NOT NULL,
  8.         PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  10.  
  11. INSERT INTO `zvit_2` (`pidriemstvo_id`, `povne_naymenuvannya`, `EDRPOU`, `region`, `member_or_not`) SELECT `id`, `povne_naymenuvannya`, `EDRPOU`, `region`, `member_or_not` FROM `table_1`;
3. file.shreder - 06 Апреля, 2015 - 22:22:07 - перейти к сообщению
Faraon-san пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE IF NOT EXISTS `zvit_2` (
  2.         `id` int(20) NOT NULL AUTO_INCREMENT,
  3.         `pidriemstvo_id` int(20) NOT NULL,
  4.         `povne_naymenuvannya` varchar(255) NOT NULL,
  5.         `EDRPOU` varchar(255) NOT NULL,
  6.         `region` varchar(255) NOT NULL,
  7.         `member_or_not` varchar(255) NOT NULL,
  8.         PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  10.  
  11. INSERT INTO `zvit_2` (`pidriemstvo_id`, `povne_naymenuvannya`, `EDRPOU`, `region`, `member_or_not`) SELECT `id`, `povne_naymenuvannya`, `EDRPOU`, `region`, `member_or_not` FROM `table_1`;

А что это ты понаписал? я просто не досмотрел, что в таблице из которой копировал, айди тоже так шли 1 2 3 4 6, а записывались в новой то таблице по порядку и потомв новой таблице айди и айди предприятия уже не соответсвовали, а я то думал, что там все чикипики, пока не перепроверил!!! Спасибо за поддержку!!! Я уже исправил все!!

 

Powered by ExBB FM 1.0 RC1