AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


> Редактирование параметра в БД, ...
ASC
сообщение Aug 31 2010, 03:01
Сообщение #1


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 12
Регистрация:
30.3.2008
Пользователь №: 3,008
Спасибо сказали: 0

Вставить ник




Доброго времени суток. Столкнулся с необходимостью отредактировать lid в таблице slaed_files сайта.

Суть вопроса такова:
- Имеется БД сайта с таблицей slaed_files, в этой таблице есть строка lid. Она имеет разное число, которое определяет уникальный номер файла. Со временем работы сайта и удаления некоторых файлов в этой таблице появились "провалы", то есть: 1,2,3 ... 8,18,21,22. Как видно отсутствуют файлы с 8го по 21й файл. Хотелось бы узнать каким способом можно переназначить уникальный номер файла в lid. Есть ли такой запрос в БД или это можно сделать с помощью какого-нибудь скрипта? будьте добры, подскажите выход. Спасибо за ответ.

Скриншоты для наглядности:
Прикрепленный файл  lid.png ( 6.58 Кб ) Кол-во загрузок: 5
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 6)
vitalik1972
сообщение Aug 31 2010, 05:36
Сообщение #2


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




КОД
$res = $db->sql_query("SELECT lid FROM ".$prefix."_files ORDER BY lid");
int $i = 0;
while(list($lid) = $db->sql_fetchrow($res)) {
  $db->sql_query("UPDATE ".$prefix."_files SET lid=$i WHERE lid=$lid");
  $i ++;
}


Ну как то вот так. Только зачем тебе все это?
vitalik1972, Вас 1 раз(а) поблагодарили за это сообщение:
ASC
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
ASC
сообщение Aug 31 2010, 18:24
Сообщение #3


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 12
Регистрация:
30.3.2008
Пользователь №: 3,008
Спасибо сказали: 0

Вставить ник




ЦИТАТА(vitalik1972 @ Aug 31 2010, 05:36 ) *
КОД
$res = $db->sql_query("SELECT lid FROM ".$prefix."_files ORDER BY lid");
int $i = 0;
while(list($lid) = $db->sql_fetchrow($res)) {
  $db->sql_query("UPDATE ".$prefix."_files SET lid=$i WHERE lid=$lid");
  $i ++;
}


Ну как то вот так.

Спасибо за ответ, правда у меня не получилось запустить этот код в виде пхп скрипта. Каким образом можно это сделать?

ЦИТАТА(vitalik1972 @ Aug 31 2010, 05:36 ) *
Только зачем тебе все это?

В базе данных 5.ххх файлов, а на деле каждому новому файлу присваивается уникальный номер 7.ххх. В связи с этим хочется навести порядок.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rocksmart
сообщение Aug 31 2010, 18:46
Сообщение #4


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 99
Регистрация:
30.1.2008
Из: Пермь
Пользователь №: 2,154
Спасибо сказали: 26

Вставить ник




не нужно этого делать .

Ты не думал о том, что ссылки уже проиндексированы и при переходе будет выдавать не то на что нажал пользователь
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Aug 31 2010, 21:27
Сообщение #5


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




rocksmart
спасибо за ответ в тему... мне и самому непонятно, для чего он это хотел сделать, тем более его сайт проиндексирован тем же гуглом или яндексом, в результате чего пользователь зашедший по (УСТАРЕВШЕЙ) ссылке просто попадет на страницу 403, либо на другую страницу...

А скрипт - неее, просто так не запустится...
Ему нужно подключить function/function.php, потом config/config.php, перед скриптом нужно определить еще пару переменных...
я ж ведь только пример дал, не более того. Тебе сам скрипт нужен?
ЕЩЕ РАЗ ПОДУМАЙ перед тем как "НАВОДИТЬ ПОРЯДОК"
Лучше проиндексируй те поля, которые нуждаются в этом (почитав код модуля search), а порядок там без тебя сам сервер mysql наведет (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
ASC
сообщение Sep 1 2010, 03:55
Сообщение #6


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 12
Регистрация:
30.3.2008
Пользователь №: 3,008
Спасибо сказали: 0

Вставить ник




ЦИТАТА(vitalik1972 @ Вчера, 21:27 )
Тебе сам скрипт нужен?


Да, хочу сделать как задумал.
ЦИТАТА(vitalik1972 @ Вчера, 21:27 )
ЕЩЕ РАЗ ПОДУМАЙ перед тем как "НАВОДИТЬ ПОРЯДОК"


Вы не волнуйтесь, всё под контролем =)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
SHAKAL
сообщение Sep 2 2010, 12:02
Сообщение #7


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 17
Регистрация:
15.7.2007
Пользователь №: 320
Спасибо сказали: 14

Вставить ник




ЦИТАТА
А скрипт - неее, просто так не запустится...
Ему нужно подключить function/function.php, потом config/config.php, перед скриптом нужно определить еще пару переменных...


Да вроде бы достаточно только:

КОД
define("MODULE_FILE", true);
include("function/function.php");


ЦИТАТА
int $i = 0;


Наверное, лучше начинать с единички:

КОД
int $i = 1;


ASC, дело конечно Ваше, но я бы такой "порядок" на Вашем месте наводить не стал...
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 25 November 2024 - 12:53
Хостинг предоставлен NetLevel.Ru   Eleanor CMS