// Find nuværende "sort"; $sql = "SELECT sort FROM login WHERE id=$id1"; $result = mysql_query($sql); $row = mysql_fetch_row($result); $sort1 = $row[0];
// Find punkt der skal byttes med $sql = "SELECT id, sort FROM login WHERE sort>$sort1 ORDER BY sort ASC LIMIT 1"; $result = mysql_query($sql); $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 login WHERE id=$id1"; $result = mysql_query($sql); $row = mysql_fetch_row($result); $sort1 = $row[0];
// Find punkt der skal byttes med $sql = "SELECT id, sort FROM login WHERE sort<$sort1 ORDER BY sort DESC LIMIT 1"; $result = mysql_query($sql); $row = mysql_fetch_row($result); $id2 = $row[0]; $sort2 = $row[1];
}
if ($PageOp>0 || $pageNed>0) {
// Der skal byttes $sql = "UPDATE login SET sort='$sort2' WHERE id='$id1'"; mysql_query($sql); $sql = "UPDATE login SET sort='$sort1' WHERE id='$id2'"; mysql_query($sql); } ?> <table bgcolor="#F0F6F9" style="border:1px solid #9CC1D0;" width="500"> <tr> <td width="100" align="left"><b>Efternavn,</b></td> <td width="100" align="left"><b>Fornavn</b></td> <td width="100" align="left"><b>Opgang</b></td> <td width="50" align="left"><b>Nr.</b></td> <td width="150" align="left"></td> </tr> </table> <? $sql = "SELECT * FROM login ORDER BY id";
if ($PageOp > 0) { // $PageOp skal flyttes op. $id1 = $PageOp;
// Find nuværende "sort"; $sql = "SELECT sort FROM login WHERE id=$id1"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $sort1 = $row["sort"];
// Find punkt der skal byttes med $sql = "SELECT id, sort FROM login WHERE sort>$sort1 ORDER BY sort ASC LIMIT 1"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $id2 = $row["id"]; $sort2 = $row["sort"]; } elseif ($PageNed > 0) { // $PageNed skal flyttes ned. $id1 = $PageNed;
// Find nuværende "sort"; $sql = "SELECT sort FROM login WHERE id=$id1"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $sort1 = $row["sort"];
// Find punkt der skal byttes med $sql = "SELECT id, sort FROM login WHERE sort<$sort1 ORDER BY sort DESC LIMIT 1"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); $id2 = $row["id"]; $sort2 = $row["sort"]; }
if ($PageOp > 0 || $pageNed > 0) { // Der skal byttes $sql = "UPDATE login SET sort='$sort2' WHERE id='$id1'"; mysql_query($sql); $sql = "UPDATE login SET sort='$sort1' WHERE id='$id2'"; mysql_query($sql); } ?> <table bgcolor="#F0F6F9" style="border:1px solid #9CC1D0;" width="500"> <tr> <td width="100" align="left"><b>Efternavn,</b></td> <td width="100" align="left"><b>Fornavn</b></td> <td width="100" align="left"><b>Opgang</b></td> <td width="50" align="left"><b>Nr.</b></td> <td width="150" align="left"></td> </tr> </table> <? $sql = "SELECT * FROM login ORDER BY sort";
Hehe... Nu er der da noget der virker, når man klikker på en rykker den sig, men ikke som den skal, den får nærmest en vilkårlig placering. Når man har klikket lidt rundt, kan man pludselig ikke mere, da de alle har fåer værdien 0 i sort?
Ja, der er en fejl et eller andet sted som gør at de bliver til 0.
Men for at kunne finde den at vi nødt til at starte med den rigtige udgangs-situation og så debugge på den. Ellers kan vi ikke se hvor eller hvornår det går galt.
Nu har jeg tildelt værdierne 1,2,3 og hvis jeg så prøver at flytte en af dem op kommer følgende: DEBUG: [SELECT sort FROM login WHERE id=266] DEBUG: [SELECT id, sort FROM login WHERE sort>2 ORDER BY sort ASC LIMIT 1]
Kom der ikke noget debug ud for de to UPDATE-sætninger:
$sql = "UPDATE login SET sort='$sort2' WHERE id='$id1'"; mysql_query($sql); $sql = "UPDATE login SET sort='$sort1' WHERE id='$id2'"; mysql_query($sql);
Ups, havde ikke indsat debug der... Så ser den sådan ud... DEBUG: [SELECT sort FROM login WHERE id=266] DEBUG: [SELECT id, sort FROM login WHERE sort>2 ORDER BY sort ASC LIMIT 1] DEBUG: [UPDATE login SET sort='3' WHERE id='266'] DEBUG: [UPDATE login SET sort='2' WHERE id='261']
Så må du jo prøve dig frem og se hvornår det går galt. Umiddlebart vil jeg vurdere at der opstår problemer når du f.eks. har flyttet en række helt op i toppen (eller helt ned i bunden).
Tror du har ret. Jeg bøvler lidt videre med den... Men tak for hjælpen, du kan lige smide et svar så du kan få nogle point. Mend hensyn til mit andet spørgsmål, skriver den "Query was empty" når man ikke har valgt noget bogstav, altså der hvor den egentlig skulle poste alle?
Bare i orden, skriver lige hvis jeg finder en løsning i løbet af imorgen..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.