Avatar billede dennism Nybegynder
08. januar 2006 - 14:37 Der er 3 kommentarer og
1 løsning

PHP: Foreach

Jeg har følgende kode:

function datafix($var) {
    foreach ($var as $i => $value) {
        $var[$i] = valuefix($value);
    }
}

$result = mysql_query("SELECT title FROM shop_categories WHERE id = '$row[cat_id]'");
$row = mysql_fetch_array($result2);

$row = datafix($row);

Det der er min mening, er at jeg vil hente nogle data fra min mySQL-database, som jeg henter til $row. Jeg er så interesseret i at køre funktionen valuefix() på samtlige rækker i $row, og til dette laver jeg funktionen datafix().

Men når jeg kører koden får jeg, bliver der ikke returneret noget til min $row.

Nogen der kan hjælpe mig med at få det til at virke?
Avatar billede dennism Nybegynder
08. januar 2006 - 14:38 #1
function datafix($var) {
    foreach ($var as $i => $value) {
        $var[$i] = valuefix($value);
    }
}

$result = mysql_query("SELECT title FROM shop");
$row = mysql_fetch_array($result);

$row = datafix($row);
Avatar billede barklund Nybegynder
08. januar 2006 - 14:43 #2
Enten skal dun funktion returnerer det nye array, eller også skal den arbejde direkte på originalen:

function datafix($var) {
    foreach ($var as $i => $value) {
        $var[$i] = valuefix($value);
    }
    return $var;
}
$result = mysql_query("SELECT title FROM shop");
$row = mysql_fetch_array($result);
$row = datafix($row);

Eller:

function datafix(&$var) {
    foreach ($var as $i => $value) {
        $var[$i] = valuefix($value);
    }
}
$result = mysql_query("SELECT title FROM shop");
$row = mysql_fetch_array($result);
datafix($row);

Begge løsninger kan bruges :)

--
Morten Barklund
Avatar billede dennism Nybegynder
08. januar 2006 - 15:00 #3
Tak. Smider du et svar?
Avatar billede barklund Nybegynder
08. januar 2006 - 15:29 #4
Yup :)
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