menu går i kuk efter en masse klik
Hej, jeg har fået bikset en "ryk menu op/ned" sammen, og den virker til dels.efter en masse klik op og ned, går en af mine menu punkter i 0 og kan så ikke flyttes rigtigt rundt, og sådan forsætter det lige så stille, så til sidst alle går i 0, selv om system er lavet til at bytte rundt på deres id.
mit kode:
<?php
include('../db.php');
$PageOp = (int)@$_GET['PageOp'];
$PageNed = (int)@$_GET['PageNed'];
if ($PageOp>0) {
// $PageOp skal flyttes op.
$id1 = $PageOp;
// Find nuværende "sort";
$sql = "SELECT sort FROM cms WHERE id=$id1";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result);
$sort1 = $row[0];
// Find punkt der skal byttes med
$sql = "SELECT id, sort FROM cms WHERE sort>$sort1 ORDER BY sort ASC LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result);
$id2 = $row[0];
$sort2 = $row[1];
} elseif ($PageNed>0) {
// $PageNed skal flyttes ned.
$id1 = $PageNed;
// Find nuværende "sort";
$sql = "SELECT sort FROM cms WHERE id=$id1";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result);
$sort1 = $row[0];
// Find punkt der skal byttes med
$sql = "SELECT id, sort FROM cms WHERE sort<$sort1 ORDER BY sort DESC LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result);
$id2 = $row[0];
$sort2 = $row[1];
}
if ($PageOp>0 || $PageNed>0) {
// Der skal byttes
$sql = "UPDATE cms SET sort='$sort2' WHERE id='$id1'";
mysql_query($sql);
$sql = "UPDATE cms SET sort='$sort1' WHERE id='$id2'";
mysql_query($sql);
}
echo 'Her har du mulighed for at flytte rundt på menupunkterne.';
echo '<ul>';
$res = mysql_query("SELECT * FROM cms ORDER BY sort");
while ($row = mysql_fetch_array($res)) {
echo'<li><font face="Verdana" size="2">[<a href="?PageOp='.$row['id'].'">Ned</a>] - [<a href="?PageNed='.$row['id'].'">Op</a>] - Page: '.$row['menu'].'</font><br></li>';
}
echo '</ul>';
?>
Jeg kan forstå på den hele er:
at den ikke tjekker mm den side jeg bytter med eksistere. Eksistere den ikke, bliver $sort2 = 0, da $row[1] ingen værdi har
Men jeg kan ikke finde ud af hvordan kode skal se ud, hvis den skal tjekke det først :(... hjæælp
