Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: изчезновение данных в базе данных
 
 автор: Anna   (24.12.2005 в 12:37)
 
 

Я столкнулась с такой проблемой. Когда с помощью php меняется порядок записей в базе mysql, иногда записи, которые расположены ниже передвигаемого фрагмента исчазают. Это происходит не всегда. Подскажите с чем это может быть связано (проблемы на сервере или в коде).

   
 
 автор: cheops   (24.12.2005 в 13:24)   письмо автору
 
   для: Anna   (24.12.2005 в 12:37)
 

В смысле исчезают? Не могли бы вы привести пример?

   
 
 автор: Anna   (24.12.2005 в 16:54)
 
   для: cheops   (24.12.2005 в 13:24)
 

Код перемещения записи вверх:

 include "../util/pas.php";
  // Осуществляем соединение с базой данных
  require_once("../config.php");
  // Формируем SQL-запрос на получение информации о верхнем параграфе
  $query = "SELECT * FROM paragraphes 
            WHERE id_article=".$_GET['id_article']." AND id_paragraph=".$_GET['pos'];
  $par = mysql_query($query);
  if($par && mysql_num_rows($par)>0)
  {
    $up = mysql_fetch_array($par);
    $query = "UPDATE paragraphes
              SET id_paragraph=0
              WHERE id_paragraph=".$_GET['id_paragraph'];
    $query1 = "UPDATE paragraphes
               SET id_paragraph=".$_GET['id_paragraph'].", pos=".$_GET['pos']." 
               WHERE id_paragraph=".$up['id_paragraph'].";";
    $query2 = "UPDATE paragraphes 
               SET id_paragraph=".$up['id_paragraph'].", pos=".$up['pos']." 
               WHERE id_paragraph=0;";
    if(!mysql_query($query))
    {
      echo $query."<br>";
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    else if(!mysql_query($query1))
    {
      echo $query1."<br>";
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    else if(!mysql_query($query2))
    {
      echo $query2."<br>";
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
  }
  echo "<HTML><HEAD>
        <META HTTP-EQUIV='Refresh' CONTENT='0; URL=art.php?id_article=".$_GET['id_article']."'>
        </HEAD></HTML>";


Данные исчезают не всегда (очень редко), если запись перемещается вверх несколько раз подряд. Исчезают данные, расположенные ниже перемещаемой записи. На локальном сервере такого ни разу не происходило.

   
 
 автор: WebTech   (24.12.2005 в 13:36)   письмо автору
 
   для: Anna   (24.12.2005 в 12:37)
 

Скорее всего проблема в коде. Приведите код, надо посмотреть.

   
 
 автор: elenaki   (24.12.2005 в 17:55)   письмо автору
 
   для: WebTech   (24.12.2005 в 13:36)
 

а зачем вообще в базе что-то перемещать? все перемещения можно (и нужно?) делать при выводе. как и вычисления.

   
 
 автор: Anna   (24.12.2005 в 19:13)
 
   для: elenaki   (24.12.2005 в 17:55)
 

я немного не правильно выразилась (извините:) Меняется значение в ячейки, и соответственно меняется очередность параграфов при отображении.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования