|
|
|
|
|
для: Лена
(30.09.2010 в 14:03)
| | Спасибо!
но я допетрил сам :)
В файле index.php написал запрос
$result = mysql_query("SELECT * FROM up ORDER BY lastdate DESC",$db);
|
В обработчике написал :
$result = mysql_query ("UPDATE up SET lastdate = '$date' WHERE id='$id'");
|
$date приравнял сегоднящную дату, все заработало. Всем спасибо | |
|
|
|
|
|
|
|
для: kronck
(30.09.2010 в 12:22)
| | У вас вот эти строки неправильные:
$result = mysql_query ("SELECT * FROM up ORDER BY lastdate,id DESC");
if ($result == 'true') {echo "<p>Ваш урок обновлен</p>";}
Запрос SELECT в случае успеха возвращает идентификатор ресурса, а не true, true возвращают INSERT,UPDATE и т.д.
сделайте
$result = mysql_query ("SELECT * FROM up ORDER BY lastdate,id DESC");
print $result; - сами увидите.
Все равно не понятно - вы хотите значения в базе поменять, или вывести на страницу с учетом сортировки. Есть просто выбрать, вам нужно так:
$result = mysql_query ("SELECT * FROM up ORDER BY lastdate DESC,id");
if(mysql_num_rows($result)>0)
{echo "<p>Ваш урок обновлен</p>";}
else ... | |
|
|
|
|
|
|
|
для: Trianon
(30.09.2010 в 13:47)
| | Как я понимаю UPDATE просто обновляет данные, собственно по логике вещей, при сортировке мы с помощью update меняем данные в строке lastdate таблицы up. ( на более ранние данные).
Помогите написать правильный запрос. | |
|
|
|
|
|
|
|
для: kronck
(30.09.2010 в 04:45)
| | >да мы можем написать update up set и указать необходимые поля, но мы и изменим сами данные, а задача состоит в том , что бы существующие данные просто поднять (сортировать по дате) .
Это значит, что значение поля, по которому выполняется сортировка при выводе, нужно поменять.
Поменять значение можно лишь sql-оператором update. Где он? | |
|
|
|
|
|
|
|
для: Лена
(30.09.2010 в 10:57)
| |
-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 30, 2010 at 06:14 PM
-- Server version: 5.1.40
-- PHP Version: 5.2.12
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `up`
--
-- --------------------------------------------------------
--
-- Table structure for table `up`
--
CREATE TABLE IF NOT EXISTS `up` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`lastname` varchar(255) NOT NULL,
`date` datetime NOT NULL,
`lastdate` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;
--
-- Dumping data for table `up`
--
INSERT INTO `up` (`id`, `title`, `lastname`, `date`, `lastdate`) VALUES
(1, 'Проверка данных', 'Проверка данных 1', '2010-09-29 21:27:10', '2010-09-29 21:27:17'),
(2, 'Проверка данных 2', 'Проверка данных 2', '2010-09-29 21:37:31', '2010-09-29 21:37:36'),
(3, 'Проверка данных 3', 'Проверка данных 3', '2010-09-29 22:02:30', '2010-09-29 22:02:34');
|
Елена, вот сама табличка, еще раз повторюсь , это простой пример, для моего понимаю языка.
Да прошу прошения у меня радиокнопки, и происходит выбор из одного значения.
При выборе одного значения (любого) происходит поднятие данные наверх (т.е. сортировка по последней дате)
Да точно, как я не заметил, тип кнопки button, исправил его на submit, но все равно пишет, что ваши данные не подняты. Т.К. не правильный запрос у обработчика. HELP | |
|
|
|
|
|
|
|
для: kronck
(30.09.2010 в 04:45)
| | Пока что ничего не понятно.
>выбор через чекбоксы
у вас не чекбоксы, у вас радиокнопки. А значит, возможен выбор только одного значения из списка.
Допустим, у меня на странице 3 записи:
Данные 1
Данные2
Данные 3
При выборе Данные 1 что должно произойти? Чем отличается выбор "данные 1" от "данные 2"? Дайте примеры своих записей.
>нажатии на кнопку поднять, данные должны сортироваться по последней дате,
при нажатии на кнопку "Поднять данные" у вас сейчас ничего не происходит. Потому что у вас тип кнопки - button,
<input name="submit" type="button" value="поднять данные" />
чтобы сервер получил данные и направил запрос в базу(сортировать записи), вам нужно либо установить тип кнопки submit, или повесить обработчик onClick(), который будет эти данные отправлять на сервер.
Может, вам UPDATE больше здесь нужен, я же не знаю...
Проясните ситуацию. | |
|
|
|
|
|
|
|
для: Лена
(29.09.2010 в 21:41)
| | Елена спасибо, узнал кое что новое по поводу DESC, однако сортировки по дате (поднятия данных) так и не проиходит. | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.09.2010 в 16:58)
| | Извеняюсь, я так и не понял как вы представляетете обновление записи, т.к. там всего 3 записи в базе , и происходит выбор через чекбоксы, формочки для изменения текста нет, я не понимаю как через чекбоксы можно обновить данные :/
да мы можем написать update up set и указать необходимые поля, но мы и изменим сами данные, а задача состоит в том , что бы существующие данные просто поднять (сортировать по дате) .
Сейчас из базы просто выводится следующее: данные 1, данные 2, данные 3 при выборе одного из чекбоксов и нажатии на кнопку поднять, данные должны сортироваться по последней дате, (при чем данные под номер 3, записаны самые свежие по сравнению с другими данные, т.е. мне надо поднять данные N 1 (самые старые данные)). Это просто тестовый пример, для моего понимания.
Желею, что начал изучать этот язык от великого "гуру" попова.
Не понимаю, зачем еще нужен один обработчик? разве моего написанного не достаточно?
Вы меня запутали.. :) | |
|
|
|
|
|
|
|
для: kronck
(29.09.2010 в 15:29)
| |
$result = mysql_query ("SELECT * FROM up ORDER BY lastdate DESC,id");
|
DESC действует только на то поле, имя которого расположено строго перед ним. А у вас значения сортироваись в возрастающем порядке. | |
|
|
|
|
|
|
|
для: Slo_Nik
(29.09.2010 в 17:56)
| | Если у человека локальный сервер изначально будет настроен на обязательный вывод любых предупреждений и ошибок, то уж точно он будет в любом случае видеть причину (если конечно понимает). Например, у меня именно так и настроен он - я не хочу задумываться о добавлении этого в скрипты, и помнить, что это еще надо выбросить перед отправкой на сервер.
Вот если вы утром встаете и кодите целый день не выключая свой сервер, и других забот у вас нет, тогда я с вами согласен, иначе... ;-) | |
|
|
|
|