Перемещение по таблице - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Sun, 01 Dec 2024 01:54:12 +0300 33. 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 Перемещение по таблице ramzes Mon, 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">&lt;?php if(isset($_GET&#91;&#039;getup&#039;])){ // подьем $exist = $sql-&gt;query(&quot;SELECT id,level FROM link WHERE id = &#039;&quot;.abs(intval($_GET&#91;&#039;getup&#039;])).&quot;&#039;;&quot;)-&gt;fetch_assoc(); // текущая запись if($exist&#91;&#039;id&#039;]!=&quot;&quot;){ $get = $exist&#91;&#039;level&#039;]+1; // запись сверху $sql-&gt;query(&quot;UPDATE link SET level = level-1 WHERE level = &#039;&quot;.$get.&quot;&#039;;&quot;); // опускаем верхнюю запись $sql-&gt;query(&quot;UPDATE link SET level = level+1 WHERE id = &#039;&quot;.$exist&#91;&#039;id&#039;].&quot;&#039;;&quot;); // поднимаем текущую запись }else{ echo&#039;dont exist row&#039;; } </pre> теперь кажись понял что автор хочет.. Код на скорую руку, можно и короче, чисто для примера.<br> Вывод сортировать: <span style="color:#ff0000">..ORDER BY level ASC..</span> https://visavi.net/topics/5303/109449 Перемещение по таблице ramzes Tue, 26 Jan 2010 01:44:36 +0300 Сообщения https://visavi.net/topics/5303/109449 27. Да это я знаю...кароче...меня не совсем поняли...или я туплю, но всё равно всем спасибо<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/109338 26. <strong>MaNGOS cms</strong>, mysql_query(&quot;SELECT * FROM `table` ORDER BY `number` ASC&quot;); https://visavi.net/topics/5303/109328 Перемещение по таблице Удаленный Mon, 25 Jan 2010 22:20:54 +0300 Сообщения https://visavi.net/topics/5303/109328 23. Лан, покажи как сделать сортировку по доп. полю..и как птом его изменять...я чёта не допру...я делал давно ещё что-то подбное с доп. полем но тогда у меня не чё не вышло..хз...я мозг спалил се<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"> &lt;?php //результат if(isset($_GET&#91;&#039;msg&#039;])) { echo ($_GET&#91;&#039;msg&#039;]!=&quot;err&quot;) ? &#039;Раздел успешно сдвинут!&lt;br&gt;&#039; &#58; &#039;Ошибка!&lt;br&gt;&#039;; } //обработка if($_GET&#91;&#039;act&#039;]!=&quot;&quot; &amp;&amp; $_GET&#91;&#039;link_id&#039;]!=&quot;&quot;){ if(change_link($_GET&#91;&#039;act&#039;],intval($_GET&#91;&#039;link_id&#039;]))) { Header(&quot;Location&#58; test.php?msg=ok&quot;); } else { Header(&quot;Location&#58; test.php?msg=err&quot;); } } //вывод $sql=mysql_query(&quot;SELECT * FROM `link` ORDER BY `id`&quot;); while($dan=mysql_fetch_array($sql)) { echo &#039;&lt;a href=&quot;test.php?id=&#039;.$dan&#91;&#039;id&#039;].&#039;&quot;&gt;&#039;.$dan&#91;&#039;name&#039;].&#039;&lt;/a&gt;&lt;br&gt;&#039;; echo &#039;&lt;a href=&quot;test.php?act=up&amp;link_id=&#039;.$dan&#91;&#039;id&#039;].&#039;&quot;&gt;&#91;вверх]&lt;/a&gt; &#039;; echo &#039;&lt;a href=&quot;test.php?act=down&amp;link_id=&#039;.$dan&#91;&#039;id&#039;].&#039;&quot;&gt;&#91;вниз]&lt;/a&gt;&lt;hr&gt;&#039;; } ?&gt; </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"> &lt;?php //основная функция function change_link($act,$link_id) { if($act==&quot;up&quot;) { //last ID $sql=mysql_query(&quot;SELECT max(`id`) FROM `link` WHERE `id` &lt; &#039;&quot;.$link_id.&quot;&#039;&quot;); $initial_id=$link_id; $finite_id=mysql_result($sql,0); } else //next ID { $sql=mysql_query(&quot;SELECT `id` FROM `link` WHERE `id` &gt; &#039;&quot;.$link_id.&quot;&#039; LIMIT 1;&quot;); $initial_id=mysql_result($sql,0); $finite_id=$link_id; } //посылаем запрос $sql_link=mysql_query(&quot;UPDATE `link` AS `a`, `link` AS `b`, `link` AS `c`, `link` AS `d` SET `a`.`id`=&#039;null&#039;, `b`.`id`=`c`.`id`, `c`.`id`=`d`.`id` WHERE `a`.`id`=&#039;&quot;.$initial_id.&quot;&#039; AND `b`.`id`=&#039;&quot;.$finite_id.&quot;&#039; AND `c`.`id`=&#039;&quot;.$initial_id.&quot;&#039; AND `d`.`id`=&#039;&quot;.$finite_id.&quot;&#039;&quot;); return ($sql_link) ? TRUE &#58; 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 Перемещение по таблице ramzes Mon, 25 Jan 2010 20:37:33 +0300 Сообщения https://visavi.net/topics/5303/109249 20. Я пока ещё ни как не делаю...мне надо получить алгоритм...а дальше я уже разберусь что менять...ид или занчение полей...это не трудно<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