Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массовый UPDATE 
:(
    Опции темы
Dr. Cox
Дата 30.6.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Никак не могу разобраться с этим апдейтом... Есть база с одной таблицей
Код

CREATE TABLE `test` (
  `id` int(11) NOT NULL auto_increment,
  `position` int(11) NOT NULL default '0',
  `name` text NOT NULL,
  `pic` varchar(250) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=26 ;

-- 
-- Дамп данных таблицы `test`
-- 

INSERT INTO `test` VALUES (1, 1, 'a', 'pic_a');
INSERT INTO `test` VALUES (2, 22, 'b', 'pic_b');
INSERT INTO `test` VALUES (3, 32, 'c', 'pic_c');
INSERT INTO `test` VALUES (4, 54, 'd', 'pic_d');
INSERT INTO `test` VALUES (5, 232, 'e', 'pic_e');
        


И простой скрипт, который выводит в select окнах позицию(1,22,32,54,232) конкретного юзера(a,b,c,d,e)
Код

<?


    require_once('./config.php');

    mysql_connect($config['DB']['DB_HOST'], $config['DB']['DB_USER'], $config['DB']['DB_PASS']);
    mysql_select_db($config['DB']['DB_NAME']);

    $a =  mysql_query("SELECT * FROM test ORDER BY position DESC");

    if(!empty($_POST['go'])) {
        while($p = mysql_fetch_array($a)) {
            if ($_POST['t'][$p['id']]){
                      $update_all = mysql_query("UPDATE test SET position ='".$_POST['t'][$p['id']]."' WHERE id='".$p['id']."'");
         }
        }
    }
?>

<html>
<head><title>
</title>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
</head>
<body topmargin="200" leftmargin="200">
<form action="test.php" method="post">
<?



    if($a){
    while($test = mysql_fetch_array($a)) {
        echo '<select name="t'.$test['position'].'">';
         for($i=1; $i<26; $i++){
             if($test['position'] == $i){
                 echo '<option value="'.$i.'" selected>'.$i.'</option>';
             }else{
                 echo '<option value="'.$i.'">'.$i.'</option>';
             }
         }
            echo '</select> &rarr; '.$test['name'].'<br>';
        }
    }



?>
<br>
<input type="submit" name="go" value="Сменить позиции">
</form>
</body>
</html>


Никак не могу разобраться, как мне разом сменить все значения 'position' в таблице на те, что выставлены в select-ах?
PM MAIL   Вверх
Ravanger
Дата 30.6.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



насколько я понял проблему, то вам надо значения выставленные в <select> записать в массив и выполнить запрос типа

Код

$temp=implode(",",$array)//делаем из массива строку разделенную запятой
$query = "UPDATE .... WHERE id IN ('.$temp.')";


Это сообщение отредактировал(а) Ravanger - 30.6.2007, 19:41
PM MAIL   Вверх
Dr. Cox
Дата 30.6.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ravanger, я просто не понимаю, как их в update раскидать?

Это сообщение отредактировал(а) Dr. Cox - 30.6.2007, 21:01
PM MAIL   Вверх
Ravanger
Дата 1.7.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

я просто не понимаю, как их в update раскидать?


Код

 $update_all = mysql_query("UPDATE test SET  name1 = 'value1' AND name2 = 'value2' ... blah-blah-blah"

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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