Перемещение по таблице - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sun, 01 Dec 2024 01:54:12 +030033. Vetas заинтриговал<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/5303/115133
Перемещение по таблице ЖекаWed, 03 Feb 2010 18:55:54 +0300Сообщенияhttps://visavi.net/topics/5303/115133Можно формулу высчитать для поля по которому сортируешь и когда меняешь его, то остальные значения этого поля должны изменяться относительно того, которое ты поменял... Домой приду, попробую написать функцию...
https://visavi.net/topics/5303/114032
Перемещение по таблице УдаленныйMon, 01 Feb 2010 18:13:52 +0300Сообщенияhttps://visavi.net/topics/5303/114032почему же. Возможно. Просто приходится немножко в пятнашки поиграть. Но поскольку разделы форума нечасто двигаются, то это самый лучший способ в плане реализации
https://visavi.net/topics/5303/114024
Перемещение по таблице УдаленныйMon, 01 Feb 2010 18:00:15 +0300Сообщенияhttps://visavi.net/topics/5303/114024Невозможно переместить на нужную позицию, не только вниз но и вверх, только в самый верх поднять<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> не очень удобно
https://visavi.net/topics/5303/114022
Перемещение по таблице ramzesMon, 01 Feb 2010 17:57:43 +0300Сообщенияhttps://visavi.net/topics/5303/114022гг. Самое элементарное в этом случае - сортировка разделов по времени. Таким образом можно обойтись всего лишь одним запросом - <pre class="prettyprint">update table set time=$time where id=$id;</pre> при этом мы имеем неудобство в том плане, что перемещение раздела возможно только в одном направлении. Но зато реализация этого дела ограничивается вышеуказанной строкой
https://visavi.net/topics/5303/114017
Перемещение по таблице УдаленныйMon, 01 Feb 2010 17:49:31 +0300Сообщенияhttps://visavi.net/topics/5303/114017<pre class="prettyprint"><?php
if(isset($_GET['getup'])){ // подьем
$exist = $sql->query("SELECT id,level FROM link WHERE id = '".abs(intval($_GET['getup']))."';")->fetch_assoc(); // текущая запись
if($exist['id']!=""){
$get = $exist['level']+1; // запись сверху
$sql->query("UPDATE link SET level = level-1 WHERE level = '".$get."';"); // опускаем верхнюю запись
$sql->query("UPDATE link SET level = level+1 WHERE id = '".$exist['id']."';"); // поднимаем текущую запись
}else{ echo'dont exist row'; }
</pre>
теперь кажись понял что автор хочет.. Код на скорую руку, можно и короче, чисто для примера.<br>
Вывод сортировать: <span style="color:#ff0000">..ORDER BY level ASC..</span>
https://visavi.net/topics/5303/109449
Перемещение по таблице ramzesTue, 26 Jan 2010 01:44:36 +0300Сообщенияhttps://visavi.net/topics/5303/10944927. Да это я знаю...кароче...меня не совсем поняли...или я туплю, но всё равно всем спасибо<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br>
Тему можно клосед. Всё что мне нужно было я понял. <img src="https://visavi.net/uploads/stickers/visavi.gif" alt="visavi">
https://visavi.net/topics/5303/109338
Перемещение по таблице ЖекаMon, 25 Jan 2010 22:30:50 +0300Сообщенияhttps://visavi.net/topics/5303/10933826. <strong>MaNGOS cms</strong>, mysql_query("SELECT * FROM `table` ORDER BY `number` ASC");
https://visavi.net/topics/5303/109328
Перемещение по таблице УдаленныйMon, 25 Jan 2010 22:20:54 +0300Сообщенияhttps://visavi.net/topics/5303/10932823. Лан, покажи как сделать сортировку по доп. полю..и как птом его изменять...я чёта не допру...я делал давно ещё что-то подбное с доп. полем но тогда у меня не чё не вышло..хз...я мозг спалил се<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/5303/109302
Перемещение по таблице ЖекаMon, 25 Jan 2010 22:01:27 +0300Сообщенияhttps://visavi.net/topics/5303/109302<pre class="prettyprint">
<?php
//результат
if(isset($_GET['msg'])) {
echo ($_GET['msg']!="err") ? 'Раздел успешно сдвинут!<br>'
: 'Ошибка!<br>';
}
//обработка
if($_GET['act']!="" && $_GET['link_id']!=""){
if(change_link($_GET['act'],intval($_GET['link_id'])))
{ Header("Location: test.php?msg=ok"); }
else
{ Header("Location: test.php?msg=err"); }
}
//вывод
$sql=mysql_query("SELECT * FROM `link` ORDER BY `id`");
while($dan=mysql_fetch_array($sql)) {
echo '<a href="test.php?id='.$dan['id'].'">'.$dan['name'].'</a><br>';
echo '<a href="test.php?act=up&link_id='.$dan['id'].'">[вверх]</a> ';
echo '<a href="test.php?act=down&link_id='.$dan['id'].'">[вниз]</a><hr>';
}
?>
</pre>
За код сильно не пинайте<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/5303/109293
Перемещение по таблице ЖекаMon, 25 Jan 2010 21:57:39 +0300Сообщенияhttps://visavi.net/topics/5303/109293я пошёл на пролом...трудным путём<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> всётаки добил!<br>
Меня сегодня вечером осинило<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br>
<pre class="prettyprint">
<?php
//основная функция
function change_link($act,$link_id) {
if($act=="up") { //last ID
$sql=mysql_query("SELECT max(`id`) FROM `link` WHERE `id` < '".$link_id."'");
$initial_id=$link_id; $finite_id=mysql_result($sql,0); }
else //next ID
{ $sql=mysql_query("SELECT `id` FROM `link` WHERE `id` > '".$link_id."' LIMIT 1;");
$initial_id=mysql_result($sql,0); $finite_id=$link_id; }
//посылаем запрос
$sql_link=mysql_query("UPDATE `link` AS `a`,
`link` AS `b`,
`link` AS `c`,
`link` AS `d`
SET `a`.`id`='null',
`b`.`id`=`c`.`id`,
`c`.`id`=`d`.`id`
WHERE `a`.`id`='".$initial_id."'
AND `b`.`id`='".$finite_id."'
AND `c`.`id`='".$initial_id."'
AND `d`.`id`='".$finite_id."'");
return ($sql_link) ? TRUE : FALSE; //ответ запроса
} </pre>
https://visavi.net/topics/5303/109291
Перемещение по таблице ЖекаMon, 25 Jan 2010 21:56:14 +0300Сообщенияhttps://visavi.net/topics/5303/109291поясню немного понятнее, автор, если ты будешь менять ид или название разделы то выйдет что тема была в общение например, а окажется в новостях
https://visavi.net/topics/5303/109288
Перемещение по таблице ДмитрийMon, 25 Jan 2010 21:51:55 +0300Сообщенияhttps://visavi.net/topics/5303/109288Я же тебе сказал, делай еще одно полей как человек тебе предложил и сортируй по нему, его и меняй. А ид трогать ненадо, если конечно ключ.
https://visavi.net/topics/5303/109249
Перемещение по таблице ramzesMon, 25 Jan 2010 20:37:33 +0300Сообщенияhttps://visavi.net/topics/5303/10924920. Я пока ещё ни как не делаю...мне надо получить алгоритм...а дальше я уже разберусь что менять...ид или занчение полей...это не трудно<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/5303/109204
Перемещение по таблице ЖекаMon, 25 Jan 2010 19:01:22 +0300Сообщенияhttps://visavi.net/topics/5303/109204<blockquote class="blockquote">17. а я ид и не меняю...я меняю местами значения полей...</blockquote>
да уж)))) никогда так не делай, тем более если у таблици есть связные зависимые таблицы.
https://visavi.net/topics/5303/109181
Перемещение по таблице ОлегMon, 25 Jan 2010 18:34:21 +0300Сообщенияhttps://visavi.net/topics/5303/109181