![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Вообщем так. У меня на странице есть список новостей и рядом с каждой копка удалить.
мне нужно что бы если я удалю какую-нибудт новость с номером 5. (а у меня есть и 6,7,8,9 и т.д.), то чтобы id в базе данных правильно переписал пре вышестоящие новости... а то получается: 1,2,3,4,6,7,8..... и 5 номер пропадает. помогите пожалуйста. |
|||
|
||||
| xolod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.5.2005 Где: Когда: Что: Репутация: нет Всего: 13 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Alexey007, id - это НЕ номер! PHP FAQ: MySQL. FAQ. ID.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Спасибо.тогда другой вопрос как подправить код, чтобы "пустот" не было. т.е. если под таким id статьи нет, то не нужно созавать на него ссылку. вот код:
при следущая если будет несуществующий id, ссылку делать по след. СУЩествующий id. |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
а зачем Вам так путаться.......Вы же из базы берете id, а значит такая запись там есть!
взяли id? потом создайте ссылку......вот и все......скрипт выберет статью где id равен значению переменной в ссылке --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Вы меня не поняли.
У меня при выводе ссылок след. и пред. берется существующий id а потом идет +-1. Как сделать проверку что при таком id новость существует? |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
Alexey007, бери не +-1
а например для 5 новости
запрос возвратит пред. и след. новость |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
у вас не правильный подход.......ID это не нумерация......это любое значение по которому можно идентифицировать запись в базе..................
--------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Vaulter, это далеко не всегда будет давать желаемый результат...
Alexey007, правильный ответ - не делать такой глупой проверки, а запросить из самой базы наибольший id меньше текущего и наименьший id больше текущего. Это 2 запроса, с помощью UNION можно насильно объединить их в один:
Можно и не объединять. Если какой-то из запросов вернет NULL, значит, эта новость - соотв-но первая или последняя в ряду. Это сообщение отредактировал(а) SelenIT - 5.4.2007, 08:33 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
далеко не всегда это сколько в процентах? и почему Вы так считаете? хочу пример |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 1 Всего: 18 |
Vaulter, к стати да. при news_id 1, 2, 5, 6, 7 например результат - 6, 7
а сначала мне тоже понравилось |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
Glip, ага, усек.
да действительно. тогда действительно оптимален вариант с MAX и MIN (сам тоже его использовал давно давно) |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
спасибо люди добрые) ток у меня не пашет
Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 15:58 |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 16:03 |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
Alexey007, так это как раз вперед
а назад будет MAX(id) WHERE id < |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
но проблема в том что ссылка на ту новость, на которой страница в данный момент находится!
Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 18:15 |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Alexey007, в вообще к дате(timestamp) привязываюсь при решении подобных задач(новости и т.д.), либо к другим параметрам.
Если так хочется по Id и он у тебя auto_incriment, то думаю где-то так надо:
-------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
ошибка. ваще запрос не выполняет:(
|
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Доступно показал ошибку Скажи какая версия MySQL, проверь передается ли туда переменная $id. И выведи запрос из скрипта. А также было бы хорошо увидеть структуру таблицы. -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
покопавшись понял, что он не понимает UNION и запросы в скобках. сделал без этого, но ВСЕРАВНО выводит id новости на которой щас я нахожусь
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Alexey007, Вы ж сами пихаете в ссылку свой старый id из переменной, а не новый, который только что достали из базы...
Это сообщение отредактировал(а) SelenIT - 5.4.2007, 19:41 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Alexey007 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Версия
Таблица:
Добавлено через 6 минут и 44 секунды P.S. качаю новую версию |
||||
|
|||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Это просто ужас 1. Советую Поставить MySQL 4.1.13 и выше Должно работать. Оператор UNION был добавлен в MySQL 4.0.0 Если хочешь, то раздели на два запроса и будет на MySQL 3.23 работать -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
ну типа настроил, ток прикол, он выводит кол-во ссылок на 1 меньше чем всех новостей
|
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
непонял, что он выводит? покажите весь код пожалуйста -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Alexey007 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
код:
выводит:
зато ссылки работают всего 3 новости в базе Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 20:33 |
||||
|
|||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Alexey007, Вы что-то путаете. Только что проверил, все работает и выводит один раз. Вы выполняете код 2 раза, посмотрите внимательнее на весь ваш код. Я не зря просил выложить весь кусок кода, который отвечает за это
Это сообщение отредактировал(а) mishaSL - 5.4.2007, 20:50 -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Alexey007 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
у меня 2 раза принт
Добавлено @ 21:38 А теперь давайте перейдем непосредсвенно к заглавию темы удаление новостей из базы вот код:
Задача в следущем: сделать потверждение на удаление. вот кнопка непосредственно на удаление:
Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 21:39 |
||||
|
|||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 1 Всего: 18 |
а для чего limit и Alter table ?
|
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
не знаю
|
|||
|
||||
| mishaSL |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Alexey007, а ваш код у вас вообще работает?
Передаете методом POST, получаете данные из GET Вот вам два варианта: №1
№2
Выбирайте как вам удобнее -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
||||
|
|||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
У меня работает мой код
|
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
спасибо. теперь потребность в корзине новостей.
Как правильно послать запрос, чтобы переместить данные из одной в другую? И в корзине чуть чуть надо этот запрос удаление изменить, сделать чтобы рядом ставить галочки а внизу одну кнопку удалить? |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 1 Всего: 18 |
из одной в другую чего? не торопитесь, проверяйте то что написали перед тем как запостить и вас проще будет понять ;) |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Вообщем так. Есть 2 таблицы news и news_trash.
Нужен запрос, чтобы из одной таблицы переместить(т.е. из одной удалить, в другую таблицу добавить) ВСЕ данные. |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Вы сами ответили на свой вопрос - из одной таблицы удаляете в другую добавляете -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Alexey007 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
значит теперь когда идет редактирование новости) тож надо поправить, помогите плиз... Можно как-нибудь усовершенствовать код.. или упростить например. Вот кнопка
Вот самый edit:
Ещё задача: сделать фвозможность делать новость невидимой... Поле в таблице я создам... но вот как быть с добалением данных? Есть не поле ввода текста, а поле для"Галочки". Это сообщение отредактировал(а) Alexey007 - 7.4.2007, 19:23 |
||||
|
|||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
создайье еще один столбик.....назовем его visible, и все.....при чтении проверяйте его состояние, при добавлении пишите ему значение....
--------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
ну это уже дело техники))
а в коду что-нибудь для упрощения поменять надо?) |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 1 Всего: 18 |
можно посмотреть на http://ru.php.net/manual/en/function.mysql-fetch-assoc.php
мне кажется оно немного уместнее |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Что-то я неочень понял...
Что делает эта функция? mclight, Вы не очень поняли мой вопрос про невидимость новости.. Поле я то создам, но вот как принимать данные от "галочки"? Т.е. как напсать этот код: есть галочка есть, в поле вносим YES, есть нету - NO. Это сообщение отредактировал(а) Alexey007 - 24.4.2007, 23:26 |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
применрно так:
а что мешает Вам проверить значение этого поля? если значение "yes", сделать его "no".....и наоборот Это сообщение отредактировал(а) mclight - 25.4.2007, 07:50 --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
mclight, как принять сами данные в базу?вот сама галочка:
Вопрос, как подать запрос на добавления значеня в базу данных? |
|||
|
||||
| mclight |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
если checkbox выбран, передастся переменная visible_n....
--------------------
Как я решал подводные камни Cakephp и не только |
||||
|
|||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Ага, спасибо.
Добавлено через 1 минуту и 7 секунд Glip, я что-то не очень понял, что делает эта функция? |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
mysql_fetch_num() - обращаетесь по номеру поля mysql_fetch_assoc() - обращаетесь по имени поля mysql_fetch_array() - обращаетесь как хотите, как по номеру, так и по имени --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 1 Всего: 18 |
возвращает строку результата в виде ассоциативного массива имя_поля => значение посмотрите ссылку, там примеры есть |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |