Optimierungsideen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Optimierungsideen?

    Hallo an alle.

    Nachfolgend mein Skriptversuch für das Ändern der Reihenfolge von Datensätzen innerhalb einer SQL-Tabelle. Irgendwelche Optimierungsideen?

    PHP-Code:
    <?

        function show_data()
        {
            $sql = "SELECT id, article_order, header FROM test ORDER BY article_order ASC";
            $result = mysql_query($sql);
            while ($row = mysql_fetch_row($result))   
            {
                echo '<b>ID:</b> '.$row[0].'<br>';
                echo $row[1].'<br>';
                echo $row[2].'<br>';
                echo '<br><b>Verschieben:</b> <a href="red.php?mode=sort_up&id='.$row[0].'">Nach oben</a> | <a href="red.php?mode=sort_down&id='.$row[0].'">Nach unten</a><br><br>';
            }
        }

            
        $db = mysql_connect("localhost","user","pass");
        if (!$db) die ("Kann Server nicht erreichen");
        mysql_select_db("tabelle",$db);  
        
        switch($mode)
        {
            default:
                show_data();
                  break;
                  
              case 'sort_up':
                  $sql1 = "SELECT id, article_order FROM test WHERE id='$id'";
                  $result1 = mysql_query($sql1);
                  while ($row1 = mysql_fetch_row($result1))
                  {
                      $id_now = $row1[0];
                      $article_order_now = $row1[1];
                  }
                  $sql2 = "SELECT id, article_order FROM test WHERE article_order = $article_order_now - 10";
                  $result2 = mysql_query($sql2);
                  while ($row2 = mysql_fetch_row($result2))
                  {
                      $id_then = $row2[0];
                      $article_order_then = $row2[1];
                      mysql_query("UPDATE test SET article_order = '$article_order_then' WHERE id = '$id_now'");
                      mysql_query("UPDATE test SET article_order = '$article_order_now' WHERE id = '$id_then'");
                  }            
                
                /* Dateninhalte wieder anzeigen */
                show_data();            
                
                  break;

              case 'sort_down':
                  $sql1 = "SELECT id, article_order FROM test WHERE id='$id'";
                  $result1 = mysql_query($sql1);
                  while ($row1 = mysql_fetch_row($result1))
                  {
                      $id_now = $row1[0];
                      $article_order_now = $row1[1];
                  }
                  $sql2 = "SELECT id, article_order FROM test WHERE article_order = $article_order_now + 10";
                  $result2 = mysql_query($sql2);
                  while ($row2 = mysql_fetch_row($result2))
                  {
                      $id_then = $row2[0];
                      $article_order_then = $row2[1];
                      mysql_query("UPDATE test SET article_order = '$article_order_then' WHERE id = '$id_now'");
                      mysql_query("UPDATE test SET article_order = '$article_order_now' WHERE id = '$id_then'");
                  }            
                
                /* Dateninhalte wieder anzeigen */
                show_data();
                
                  break;
         }

    ?>

  • #2
    jap Du schreibst zuviel ( doppeltes ) in den switch und mal machst Du ein die mysql_error() manchmal nicht... das ist nicht konsequent...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar

    Lädt...
    X