Avatar billede ofirpeter Nybegynder
08. juli 2004 - 11:15 Der er 3 kommentarer og
1 løsning

Ombytning af data i MySQL

Jeg har en MySQL tabel der ser således ud:

Navn          Tal

Forside        1
Produkter      2
Priser        3
Kontakt        4

Jeg søger en query som kan bytte rundt på f.eks. tal nr. 1 og 2, så det kommer til at sådan ud:

Produkter      1
Forside        2
Priser        3
Kontakt        4

Hvordan kan det lade sig gøre?
Avatar billede sostack Nybegynder
08. juli 2004 - 11:41 #1
Prøv med:
<?php
//forbind til database her.
$tabel = "navn på tabellen";

function byt_om($foerste, $anden)
{
    $qry_byt = "SELECT * FROM " . $tabel . " WHERE `Navn`='" . $foerste . "' OR `Navn`='" . $anden . "'";
    $res_byt = mysql_query($qry_byt) OR DIE(mysql_error());
    WHILE(($res_array = mysql_fetch_array($res_byt)) !== false)
    {
        SWITCH($res_array["Navn"])
        {
            CASE $foerste:
                $tal_temp[$foerste] = $res_row["Tal"];
            BREAK;
            CASE $anden:
                $tal_temp[$anden] = $res_row["Tal"];
            BREAK;
            DEFAULT:
           
            BREAK;
        }
    }
    mysql_query("UPDATE" . $tabel . " SET `Tal`=" . $tal_temp[$foerste] . " WHERE `Navn`='" . $anden . "'") OR DIE(mysql_error());
    mysql_query("UPDATE" . $tabel . " SET `Tal`=" . $tal_temp[$anden] . " WHERE `Navn`='" . $foerste . "'") OR DIE(mysql_error());
}

byt_om("Produkter", "Forside");
?>

//sostack
Avatar billede Syska Mester
08. juli 2004 - 11:54 #2
Det har du da fået vist i et andet spm.

Men sørg for at have et unik id for hver menu. og så skal den jo bare have et nummer højere, og den som så har det nummer, skal have et lavere eller modsat hvis den skal et punkt højere op....

// ouT
Avatar billede ofirpeter Nybegynder
08. juli 2004 - 13:10 #3
Tak for rådet Buzzzz. Nu virker det til min store tilfredshed :)
Ser sådan ud, nok ikke det smukkeste men det virker.

$from = $_GET["from"];
$to = $_GET["to"];

$hent_from = mysql_query("select navn from $table_tekst where prio='$from'") or die(mysql_error());
while ($ud_from = mysql_fetch_array($hent_from)){

$hent_to = mysql_query("select navn from $table_tekst where prio='$to'") or die(mysql_error());
while ($ud_to = mysql_fetch_array($hent_to)){

mysql_query("update $table_tekst set prio ='$from' WHERE navn ='$ud_to[navn]'") or die(mysql_error());
mysql_query("update $table_tekst set prio ='$to' WHERE navn ='$ud_from[navn]'") or die(mysql_error());
}}
Avatar billede Syska Mester
08. juli 2004 - 14:23 #4
no problem, I'm here to help
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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