Avatar billede bremer Nybegynder
23. april 2012 - 23:38 Der er 5 kommentarer og
1 løsning

generel update-funktion... min værdi kommer ikke med.

Hej Venner,

hvor kan jeg ikke få dette til at virke :( Når jeg poster mine form få jeg bare værdien "1" eller ikke den ønskede værdi...

jeg ville utrolig gerne kunne bruge denne function som en generel update-function selvfølgelig bare med andre værdier ect.

håber I kan hjælpe hertil....


    function update($postname, $rowsname=NULL, $id, $location) {
        global $$postname, $$id, $$rowsname, $original_titel, $$location, $result, $connection;
        if(isset($_POST[$postname])) {
        $result = mysql_query("UPDATE movie SET
        ".$rowsname."
        WHERE id = '" . $_REQUEST['id'] . "'"
        , $connection);
        if (!$result) {
            die("database wuery failed; " . mysql_error());
        }
        header('Location: '.$location.'');
        }
       
    }
   
    echo $addrows = "
        #original_titel='".isset($_POST['original_titel'])."'

    ";
   
    update("submit_update",$addrows, "id", "http://www.mysite.dk/");
Avatar billede mireigi Novice
24. april 2012 - 00:05 #1
Dobbelt oprettelse af spørgsmål og over 4000 point ude. Tror du skal få lukket dine øvrige spørgsmål inden du kan forvente noget hjælp.

Andet spørgsmål:
http://www.eksperten.dk/spm/961779
Avatar billede tobrukDk Novice
24. april 2012 - 07:38 #2
Der vil jeg give #1 ret.  Folk gider ikke tænke på at hjælpe dig før du lukker nogle qf de andre overhovedet
Avatar billede inteeeL Nybegynder
24. april 2012 - 10:20 #3
Jeg har lavet en lille funktion, der kan klare det for dig. Den kan med fordel udbygges, således at der tages højde for flere parametre:
<?php

function update( $attributes, $values, $where, $where_values) {
    if( is_array( $attributes) && !empty( $attributes) && is_array( $attributes) && !empty( $attributes)) {
        $combine = array_combine( $attributes, $values); //Kombiner attributter og værdier
        $queryString = ''; //Declarerer værdien
        $cnt = 1; //Optæling af elementer
        $sizeof = sizeof( $combine); //Antal af elementer
        foreach( $combine as $att => $val) {
            $seperator = ( $cnt < $sizeof ? ', ' : '');
            $queryString .= "$att='$val'$seperator";
            $cnt++;
        }
        if( !empty( $where) && !empty( $where_values)) {
            if( is_array( $where) && is_array( $where_values)) {
                $combine = array_combine( $where, $where_values); //Kombiner attributter og værdier
                $whereString = ' WHERE '; //Declarerer værdien
                $cnt = 1; //Optæling af elementer
                $sizeof = sizeof( $combine); //Antal af elementer
                foreach( $combine as $where => $val) {
                    $seperator = ( $cnt < $sizeof ? ' AND ' : '');
                    $whereString .= "$where='$val'$seperator";
                    $cnt++;
                }
            }
            else {
                $whereString = "$where='$where_values'";
            }
        }
        else {
            $whereString = '';
        }
        $query = "UPDATE table SET $queryString$whereString";
        return mysql_query($query);
    }
    else {
        return false;
    }
}

//Eksempel på brug af
$attributes = array('att1','att2','att3','att4','att5');
$values = array('val1','val2','val3','val4','val5');
$where = array('id', 'godkendt');
$where_values = array('1','2');
update($attributes, $values, $where, $where_values);   

?>
Avatar billede inteeeL Nybegynder
24. april 2012 - 10:57 #4
Kan også bruges sådan her:
update(array('username'), array($_POST['username'], 'id', 1);
Avatar billede bremer Nybegynder
24. april 2012 - 12:44 #5
1. det er flere år sider jeg har fået her på side
2. selvfølgelig skal de andes lukkes!
3. Dobbelt oprettelse af spørgsmål, var pga. siden gik i stå....


@inteeeL tak! sender du ikke et svar...
Avatar billede inteeeL Nybegynder
24. april 2012 - 19:45 #6
Selvtak. :-)
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