[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление данных
Sw1tchBack
Привет всем smile.gif
Я плохо разбираюсь в PHP, и вот потребовалось создать код который вбивал бы в мускуль id показа, который не совпадает с простым ID. Т.е id может быть такие: 3,6,15; а id показа будут 1,2,3;
Написал код, но почему-то после его запуска у всех записей в бд один ID показа и он равен кол-ву записей.
PHP
<?php
include("config.php");
$result = mysql_query("SELECT * FROM $dbtable WHERE `ptype`='graphic'");
$plid=1;
    while($row = mysql_fetch_array($result))
    {
        mysql_query("UPDATE `ltgallery` SET `placeid` = '$plid'");
        $plid=$plid+1;
    }

Пожалуйста, поправьте код чтобы все работало как надо)



Спустя 6 минут, 12 секунд (22.09.2009 - 15:41) sergeiss написал(а):
ПХП тут не при чем, ты "плохо разбираешься" в SQL smile.gif

Чтобы всё работало как надо, поставь условие при апдейте:
PHP
mysql_query("UPDATE `ltgallery` SET `placeid` = '$plid' WHERE .....");

где вместо многоточия поставь нужное условие. Тогда ты укажешь в явном виде строку или набор строк, для которых делать изменение.
При отсутствии условия апдейт делается для всех строк. Что у тебя и происходит.

Спустя 2 минуты, 7 секунд (22.09.2009 - 15:44) Sw1tchBack написал(а):
Так и надо для всех) просто у всех вставляется одинаковое число, а должны быть разные (1,2,3...) tongue.gif

Спустя 14 минут, 39 секунд (22.09.2009 - 15:58) sergeiss написал(а):
Sw1tchBack ну так и сделай, как я тебе сказал. Хочешь менять у всех - меняй, но для каждого изменения придется сделать отдельный запрос (как ты и делаешь), с индивидуальными параметрами.

Спустя 1 минута, 5 секунд (22.09.2009 - 15:59) Sw1tchBack написал(а):
У всех записей одинаковые эти числа, независимо есть WHERE или нету.

Спустя 7 минут, 22 секунды (22.09.2009 - 16:07) sergeiss написал(а):
Цитата (Sw1tchBack @ 22.09.2009 - 16:59)
У всех записей одинаковые эти числа, независимо есть WHERE или нету.

Это пожелание или как раз то, чего надо избежать???? Ты выражайся понятнее, что ли...

Если этого надо избежать - то я показал путь, как это сделать. Если это то, что надо - так оно у тебя делается.

Тогда непонятно, в чем же вопрос, что тебе непонятно?

Спустя 12 минут, 52 секунды (22.09.2009 - 16:20) Sw1tchBack написал(а):
То чего надо избежать.
Непомогает!
Вот что сейчас:
PHP
<?php
include("config.php");
$result mysql_query("SELECT * FROM $dbtable WHERE `ptype`='graphic'");
$plid=1;
    while(
$row mysql_fetch_array($result))
    {
        
mysql_query("UPDATE `ltgallery` SET `placeid` = '$plid' WHERE `ptype`='graphic'");
        
$plid=$plid+1;
    }


И всеравно у всех записей с типом graphic placeid=44

Спустя 23 минуты, 23 секунды (22.09.2009 - 16:43) Guest написал(а):
error_reporting(E_ALL);

Спустя 6 минут, 51 секунда (22.09.2009 - 16:50) Sw1tchBack написал(а):
Никаких ошибок не выводит dry.gif

Спустя 17 минут, 26 секунд (22.09.2009 - 17:07) Sw1tchBack написал(а):
Я думаю сама формула неверная tongue.gif

Спустя 4 минуты, 28 секунд (22.09.2009 - 17:12) Guest написал(а):
есть результат если выполнить
SELECT * FROM $dbtable WHERE `ptype`='graphic'
например в phpMyAdmin?

Спустя 4 минуты, 41 секунда (22.09.2009 - 17:16) Sw1tchBack написал(а):
Все норм выводится

Спустя 9 минут, 42 секунды (22.09.2009 - 17:26) Gabriel написал(а):
Sw1tchBack
ето ты что хочеш везде где graphic поставить place id 1?

Спустя 30 минут, 28 секунд (22.09.2009 - 17:56) Sw1tchBack написал(а):
Нет, чтобы placeid были 1,2,3 и так далее

Спустя 10 минут, 52 секунды (22.09.2009 - 18:07) Guest написал(а):
оо как старшно тупим.. (и я в том числе)

а sergeiss сказал как нужно сделать во втором посте..
where `id` = $row['id']

офигеть.. как такое пропустил

Спустя 6 минут, 43 секунды (22.09.2009 - 18:14) Sw1tchBack написал(а):
Тажется вы все меня не понимаете..)
У мну каталог картинок. У картинки есть id, а теперь понадобилось сделать фичу чтобы картинки можно было перемещать и я сделал placeid, который указывает которой должна показываться картинка. И id могут быть 64, 101, пофиг какой, но placeid будут 1,2 и т.д.) поэтому id не всегда совпадает placeid.

Спустя 4 минуты, 37 секунд (22.09.2009 - 18:19) Guest написал(а):
А ты кажеться плевать хотел на то что тебе тут говорят.

Ты хоть чуть чуть пошевелись и попробуй то что тебе сказали сделать.

Мне вот как то не очень приятно что я так об.. хм... ошибся.

А ты вот даже попробовать готовое решение не хочешь не понимая что делает запрос DELETE без условий.

Спустя 30 секунд (22.09.2009 - 18:19) Guest написал(а):
блин... UPDATE без условий...

Спустя 3 часа, 3 минуты, 31 секунда (22.09.2009 - 21:23) Sw1tchBack написал(а):
Спасибо smile.gif


_____________
Постигаю PHP... а он убегает :(
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.