Avatar billede winerror Nybegynder
30. august 2004 - 13:35 Der er 6 kommentarer og
1 løsning

Flyt 2 ting den ene op og den anden ned

hejza alle sammen.... sider og forsøger at fixe noget code.... men det jeg skal ha den til gider den bare ikke :(

mit problem er jeg har fx et udtræk sådan her

ID|Emne  |prosition|
1. hej    6
2. med    5
3. dig    4
4. hvad    3
5. heder  2
6. du      1


hvis jeg fx skal ha flyttet nr 5 en tan op så skal den jo plusse 5 med 1 og minus 4 med 1 hvor dan kan man gøre det ? har denne her code som ikke inger helt optimalt :S



<?
include "include/top.php";
?>

<center>
<?
/* Når man vil slætte en nyhed. så skal den slettet hele nyheden sådan at der igen spor er eftere det
så det ike bare ligger og flydere... */
if ($_GET['sletid'] != "")
{
    $resslet = mysql_query("SELECT * FROM nyhed_grup WHERE nyhedid = '".$_GET['sletid']."'");
    while($rowslet = mysql_fetch_array($resslet))
    {   
        mysql_query("DELETE FROM nyhed_grup WHERE nyhedid = '". $_GET['sletid'] ."'") or die(mysql_error());
    }
    mysql_query("DELETE FROM nyhed WHERE id = '". $_GET['sletid'] ."'") or die(mysql_error());
}

if ($_GET['id'] != "")
{
    /* Søge for at slettet den under nyhed man nu gerne vil ha slettet hvis det nu er man ikke ønskere at den
    skal være der alige vel. */
    if ($_GET['delid'] != "")
    {
        mysql_query("DELETE FROM nyhed_grup WHERE id = '". $_GET['delid'] ."'") or die(mysql_error());
    }
   
    /* Rettere din privotet hvor nyheds texten skal ligge sådan den bliver plasert rigit. */
    if ($_GET['ret'] == "nu")
    {
        $respriv = mysql_query("SELECT * FROM nyhed_grup WHERE id = '".$_GET['retid']."'");
        $rowpriv = mysql_fetch_array($respriv);

        if ($_GET['priv'] == "op")
        {
            $privret  = $rowpriv['priv'] + 1;
            $privflyt = $rowpriv['priv'] - 1;
        }
        elseif ($_GET['priv'] == "ned")
        {
            $privret  = $rowpriv['priv'] - 1;
            $privflyt = $rowpriv['priv'] + 1;
        }

        mysql_query("update nyhed_grup SET priv = '".$privret."' WHERE id = '".$_GET['retid']."'") or die(mysql_error());
        mysql_query("update nyhed_grup SET priv = '".$privflyt."' WHERE nyhedid = '".$_GET['id']."' AND priv = '". $privret ."'") or die(mysql_error());
   
    }   
   
    $res = mysql_query("SELECT * FROM nyhed WHERE id = '".$_GET['id']."'");
    $row = mysql_fetch_array($res);
   
    $grupres = mysql_query("SELECT * FROM nyhed_grup WHERE nyhedid = '".$row['id']."'");
    $gruprow = mysql_fetch_array($grupres);
   
    echo "
    <a href=\"\" onClick=\"MyWindow2=window.open('nyhedspunkt.php?id=".$_GET['id']."','MyWindow2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=500,height=400'); return false;\">Tilføj nyhed's punkt</a> -
    <a href=\"\" onClick=\"MyWindow2=window.open('ret_emne.php?id=".$_GET['id']."','MyWindow2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=500,height=50'); return false;\">Ret Nyheds emnet</a> -
    <a href=\"nyheder.php?sletid=".$_GET['id']."\" onclick=\"return confirm('Er du sikker på at du vil slette hele nyheden hvis du klikker OK kan intet gendannes');\">Slet nyhed</a>
    <br /><br />
    Peviw af Nyhed: <a href=\"nyheder.php?id=".$_GET['id']."&infomation=se\">Vis med Funktion</a> - <a href=\"nyheder.php?id=".$_GET['id']."\">Vis uden Funktion</a><br />
    <hr />
   
    <table cellpadding=\"0\" cellspacing=\"0\">
    <tr>
    <td bgcolor=\"\">» ". $row['emne'] ."</td>
    </tr>
    <tr>
    <td>
    ";
   
    if ($_GET['infomation'] == "se")
    {
        $table_brade = 630;
    }
    else
    {
        $table_brade = 500;
    }
    echo "
    <table width=\"". $table_brade ."\">";
   
    $grupres = mysql_query("SELECT * FROM nyhed_grup WHERE nyhedid = '".$row['id']."' ORDER BY priv DESC");
    while($gruprow = mysql_fetch_array($grupres))
    {
        echo "
        <tr>
        ";
       
        if ($_GET['infomation'] == "se")
        {           
           
            echo "
            <td valign=\"top\" width=\"130\" bgcolor=\"#BDCBD6\">
            Under nyhed nr. ". $gruprow['id'] ."<br />
            <br />
            <a href=\"\" onClick=\"MyWindow2=window.open('ret_nyhed.php?id=".$gruprow['id']."','MyWindow2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=500,height=400'); return false;\">Ret Infomation</a><br />
            <a href=\"nyheder.php?info=slet&id=".$_GET['id']."&delid=".$gruprow['id']."\" onclick=\"return confirm('Er du sikker på du vil slette denne mail ?');\">Slet Uder text</a><br />
           
            <a href=\"nyheder.php?infomation=se&id=".$_GET['id']."&retid=".$gruprow['id']."&priv=op&ret=nu\">Flyt op</a>
            <a href=\"nyheder.php?infomation=se&id=".$_GET['id']."&retid=".$gruprow['id']."&priv=ned&ret=nu\">Flyt ned</a>
   
            </td>
            ";
        }
        echo"<td valign=\"top\" width=\"500\">
        <b>Emne: ".$gruprow['emne']."</b>
        ";
        if ($gruprow['img'] != "")
        {
            $imgsize = getimagesize("nyhedpic/".$_SESSION['user_id']."/".$gruprow['img']."");

            if ($imgsize[0] <= "150")
            {
                $priweimg = "<img src=\"nyhedpic/".$_SESSION['user_id']."/".$gruprow['img']."\" width=\"150\">";
            }
            else
            {
                $priweimg = "<a href=\"http://www.pagedesign.dk/nyhed/nyhedpic/".$_SESSION['user_id']."/".$gruprow['img']."\" target=\"_blank\"><img src=\"nyhedpic/".$_SESSION['user_id']."/".$gruprow['img']."\" width=\"150\" border=\"0\"></a>";
            }
           
            if ($gruprow['align'] == "left")

            {
                echo "
                <table width=\"500\">
                <tr>
                <td valign=\"top\" width=\"150\">
                ".$priweimg."
                </td>
                <td valign=\"top\">
                ". stripslashes($gruprow['text']) ."
                </td>
                </tr>
                </table>
                ";
            }
            elseif ($gruprow['align'] == "right")
            {
                echo "
                <table width=\"500\">
                <tr>
                <td valign=\"top\">
                ". stripslashes($gruprow['text'])."
                </td>
                <td valign=\"top\" width=\"150\">
                ".$priweimg."
                </td>
                </tr>
                </table>
                ";
            }
            elseif ($gruprow['align'] == "center")
            {
                echo "
                <table width=\"500\">
                <tr>
                <td valign=\"top\">
                ". stripslashes($gruprow['text']) ."
                </td>
                <td valign=\"top\" width=\"150\">
                ".$priweimg."
                </td>
                </tr>
                </table>
                ";
            }
        }
        else
        {
            if ($gruprow['align'] == "left")
            {
                echo "<div align=\"left\">". stripslashes($gruprow['text']) ."</div>";
            }
            elseif ($gruprow['align'] == "right")
            {
                echo "<div align=\"right\">". stripslashes($gruprow['text']) ."</div>";
            }
            elseif ($gruprow['align'] == "center")
            {
                echo "<div align=\"center\">". stripslashes($gruprow['text']) ."</div>";
            }
           
        }
        echo "
        <hr />
        </td>
        </tr>";
    }

    echo "
    </table>
    </td>
    </tr>
    <tr>
    <td>
    Hvis du ønsker at fra melde dig denne her nyhed's mail så klik på dette link
    <a href=\"\">[ Fra mæld mig]</a>
    </td>
    </tr>
    </table>
    ";
}
else
{
    $nyFarve        = 1;
    $farve          = 0;
   
    echo "<table width=\"100%\">";
    $res = mysql_query("SELECT * FROM nyhed WHERE userid = '".$_SESSION['user_id']."' ORDER BY id DESC");
    while($row = mysql_fetch_array($res))
    {
   
        if ($farve == $nyFarve) {
            $color                = "#C9CDD0";
            $farve                = $farve++;
            $nyFarve        = $nyFarve+1;
        } else {
            $color                = "#EFEFEF";
            $farve                = $farve+1;
        }
       
        echo "
        <tr bgcolor=\"".$color."\">
        <td>Emne: ".$row['emne']."</td>
        <td>Skravet dato: ".$row['dato']."</td>
        <td><a href=\"nyheder.php?id=".$row['id']."\">Se Nyheden som Priew</a></td>
        <td>";
       
        if ($row['mailstatus'] == "1")
        {
            echo "Sendt";
        }
        elseif ($row['mailstatus'] == "2")
        {
            echo "Venter";
        }
        else
        {
            echo "Ikke sendt";
        }
       
        echo "</td>
        </tr>
        ";
    }
    echo "</table>";
}
?>
</center>

<?
include "include/bund.php";
?>


håber det kan hjælpe jer lidt.
Avatar billede fri-hash Nybegynder
30. august 2004 - 13:48 #1
jeg ved ikke lige hvor i din kode du vil gøre det du spørger om, men hvis det skal ændres i databasen skal du lave et par update-statements, f.eks:

UPDATE [tabelnavn] SET position=position+1 WHERE ID=5
UPDATE [tabelnavn] SET position=position-1 WHERE ID=4

dette kræver at kolonnen position er af en numerisk datatype, f.eks. INT
Avatar billede winerror Nybegynder
30. august 2004 - 13:55 #2
/* Rettere din privotet hvor nyheds texten skal ligge sådan den bliver plasert rigit. */
    if ($_GET['ret'] == "nu")
    {
        $respriv = mysql_query("SELECT * FROM nyhed_grup WHERE id = '".$_GET['retid']."'");
        $rowpriv = mysql_fetch_array($respriv);

        if ($_GET['priv'] == "op")
        {
            $privret  = $rowpriv['priv'] + 1;
            $privflyt = $rowpriv['priv'] - 1;
        }
        elseif ($_GET['priv'] == "ned")
        {
            $privret  = $rowpriv['priv'] - 1;
            $privflyt = $rowpriv['priv'] + 1;
        }

        mysql_query("update nyhed_grup SET priv = '".$privret."' WHERE id = '".$_GET['retid']."'") or die(mysql_error());
        mysql_query("update nyhed_grup SET priv = '".$privflyt."' WHERE nyhedid = '".$_GET['id']."' AND priv = '". $privret ."'") or die(mysql_error());
   
    }   


den linje.... og hmm forstår ikke helt hvad du menner eller jo men det vil ikke fungere for også sådan jeg hade tænkt det men måske mig der lige gøre noget forkert der.
Avatar billede fri-hash Nybegynder
30. august 2004 - 14:04 #3
kommer der fejlmeddelelser fra mysql_error() eller kører scriptet igennem men med et andet resultat end forventet? i så fald hvilket resultat?
hvilken datatype er kolonnen priv?

i din query-string skriver du ...SET priv='7' WHERE...  - når der er 'er om er det en tekst-type .. men hvis det er en teksttype, kan du ikke umiddelbart beregne på det som du gør med $privret=$rowpriv['priv'] + 1;

hvis datatypen i databasen er tekstbaseret (f.eks. char, varchar el.l.), skal du for at beregne på værdien sige $privret = intval($rowpriv['priv']) + 1;
Avatar billede winerror Nybegynder
30. august 2004 - 14:40 #4
den er int verdi min database..... og det er når jeg fx. skriver op så hmm funger det ikke helt... menner det er 2+ det ene sted og plus 1 det andet sted :S for det køre rigit nok i gennem men bare laver noget andet end den enligt skullle :S fucking fucket...
Avatar billede dark-devil Nybegynder
30. august 2004 - 20:03 #5
Luk dit gl. spg..
Avatar billede winerror Nybegynder
31. august 2004 - 11:27 #6
mit gamle hvad snakker du om ? det er er det este spg i denne form jeg har oprettet :S
Avatar billede winerror Nybegynder
02. september 2004 - 08:50 #7
hmm tror bare jeg lukker dette spg da der endnu ikke er kommet noget svar jeg kan bruge... :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester