Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание новой таблицы из старой путем выборки. 
:(
    Опции темы
IceWall
Дата 28.4.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Код

echo '<h2>Список</h2>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
$query = "SELECT id, name, kol FROM P101 WHERE 1"; 
$res = mysql_query( $query ); 
echo '<table border="1">';; 
echo '<tr><th>ID</th><th>Имя</th><th>Количество</th></tr>'; 
while ( $item = mysql_fetch_array( $res ) ) 
{ 
  echo '<tr>'; 
  echo '<td>'.$item['name'].'</td>'; 
  echo '<td>'.$item['kol'].'</td>'; 
  echo '<td><input type="checkbox" name="item[]" value="'.$item['id'].'" /></td>';  
  echo '</tr>'; 
} 
echo '</table>';
echo '<input type="submit" name="submitForm" value="Прибавить" />';
echo '</form>';

if ( isset ( $_POST['item'] ) )
{
  $ids = implode( ',', $_POST['item'] );
  $query = 'UPDATE P101 SET kol=kol+1 WHERE id IN ('.$ids.')';
  mysql_query( $query );

PHP & MYSQL
Имеется две таблицы P101 и T101, Из P101 выбираются определенные строки путем чекбоксов, и затем к этим пунктам прибавляется по +1. Это все работает. Далее нужно вставить в таблицу T101 те значения которые были выбраны в чекбоксах, и уже прибавленные. Если кто может помогите буду благодарен =)

Это сообщение отредактировал(а) IceWall - 28.4.2009, 15:14
PM MAIL   Вверх
Gluttton
Дата 28.4.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



Не силен в php+MySQL, но если

Цитата

Далее нужно вставить в таблицу T101


то нужно смотреть не в сторону 

Цитата

Код

UPDATE P101



а в сторону INSERT.


--------------------
Слава Україні!
PM MAIL   Вверх
IceWall
Дата 28.4.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Цитата(Gluttton @  28.4.2009,  15:16 Найти цитируемый пост)
Не силен в php+MySQL, но еслиЦитатаДалее нужно вставить в таблицу T101то нужно смотреть не в сторону Цитатакод SQL1:UPDATE P101highlightSyntax('sql_MTQxYW','sql');а в сторону INSERT.

Нет, в этом блоке он как раз делает выборку, тех ID, которые были выбраны в чекбоксах, и после прибавляет в полях с этими ID, к полю kol по +1.
А мне нужно вывести в новой таблице, все те строки в которых были выбраны чекбоксы, ну и уже с kol+1.
PM MAIL   Вверх
Gluttton
Дата 28.4.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



Код

INSERT INTO T101(ID)
SELECT 
    P101.ID+1 AS ID
FROM P101
    WHERE P101.ID=checkbox


Вместо checkbox подставляем значение чекбокса.

Получается примерно следующее smile 
Вставляем в таблицу T101 (в такие то колонки), 
данные на 1 больше,
из таблицы P101, для тех полей у который ID, тот, что указан в чекбоксе.


--------------------
Слава Україні!
PM MAIL   Вверх
Zloxa
Дата 28.4.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(IceWall @  28.4.2009,  15:07 Найти цитируемый пост)
Далее нужно вставить в таблицу T101 те значения которые были выбраны в чекбоксах, и уже прибавленные. 

Код

insert into t101 select * from p101 wehre id in (...)


Добавлено через 4 минуты и 17 секунд
Gluttton, 
Цитата(Gluttton @  28.4.2009,  15:45 Найти цитируемый пост)
P101.ID+1 AS ID

Наращивать, как я понял надо было не ID а значение. smile
Ключевое слово у автора - "Далее", для меня, лично означает что p101 уже содержит прибавленные значения по выбранным нами ID smile



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
IceWall
Дата 28.4.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Zloxa, 
Угу сначало мы прибавляем к выбранным строкам в значении kol+1, а потом те самые строки которые мы изменили нужно вывести вместе c name и kol... помогите если можете как скопировать из одной таблицы в другую ))
PM MAIL   Вверх
Gluttton
Дата 28.4.2009, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



To Zloxa

Цитата

Наращивать, как я понял надо было не ID а значение. 
Ключевое слово у автора - "Далее", для меня, лично означает что p101 уже содержит прибавленные значения по выбранным нами ID 


Даже нечего в свое оправдание и сказать smile ! 

To IceWall
Цитата

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


Дык вроде Zloxa уже помог !?


--------------------
Слава Україні!
PM MAIL   Вверх
IceWall
Дата 28.4.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



О да ))) Я не видел просто. Спасибо щас попробую.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.