Avatar billede axel21 Juniormester
11. juni 2008 - 15:47 Der er 21 kommentarer og
1 løsning

Hjælp til Function?

Har denne function:

function virksomhederOptionsSiku($option=0)
{
    $output  = '';
    $output .= '<select id="virksomhederOptionsSiku" name="virksomheder">'."\r\n";

    $query = mysql_query('SELECT * FROM virksomheder ORDER BY navn');
    if(mysql_num_rows($query)>0)
    {
        $output .= '<option>Vælg virksomhed</option>'."\r\n";
        while($row = mysql_fetch_assoc($query))
        {
            $output .= '<option value="'.$row['navn'].'"';
            $output .= ($row['id'] == $option)?' selected="selected"':'';
            $output .= '>'.$row['navn'].'</option>'."\r\n";
        }
    }
    else
    {
        $output .= '<option>Ingen virksomheder</option>'."\r\n";
    }
    $output .= '</select>'."\r\n";
    return $output;
}


Kan man også trække eks. adressen ud på den virksomhed man vælger, i en ny variabel, så man har to variabler fra samme function?
Avatar billede w13 Novice
11. juni 2008 - 15:49 #1
Kan du ikke bare returnere den adskilt af komma? Så kan du jo få det i et array.

Jeg ved nemlig ikke, om PHP understøtter tupler.
Avatar billede axel21 Juniormester
11. juni 2008 - 15:51 #2
Går ud fra du mener sådan her?

$output .= '<option value="'.$row['navn'].'", "'.$row['adresse'].'"';
Avatar billede w13 Novice
11. juni 2008 - 15:52 #3
Jeg forstod det sådan, at du ville have:
return $output;
til at returnere:
return $output,$output_adresse;
?
Avatar billede axel21 Juniormester
11. juni 2008 - 15:52 #4
Men det er jo måden jeg skal samle den op på. Jeg samler variablen op sådan her:

$virksomhedsnavn = mysql_real_escape_string($_POST['virksomheder']);
Avatar billede w13 Novice
11. juni 2008 - 15:53 #5
Men ellers kan man jo også sagtens, som du gør.
Avatar billede axel21 Juniormester
11. juni 2008 - 15:54 #6
Ja, men det skal både returnere navn og adresse, da de skal ind i hver sin variabel?
Avatar billede w13 Novice
11. juni 2008 - 15:54 #7
Ja, så kan du gøre sådan her:
$output .= '<option value="'.$row['navn'].",".$row['adresse'].'"';

Når du samler den op, skal du så bare hente værdien før kommaet til én variable og værdien efter kommaet til en anden variable.

Det er sådan, du kan sende flere værdier med.
Avatar billede jakobdo Ekspert
11. juni 2008 - 15:54 #8
Hvorfor sende flere info ?
Hvorfor ikke bare arbejde med den ene info du får, og så trække adressen ud, der hvor du senere skal bruge den ?
Avatar billede w13 Novice
11. juni 2008 - 15:55 #9
Ja, som jakobdo siger, så bør du i virkeligheden kun overføre id'et fra databasen, så du kan hente alt det, du behøver, på den næste side, ud fra id'et.
Avatar billede axel21 Juniormester
11. juni 2008 - 15:56 #10
Det skal direkte ind i et excel ark...
Avatar billede w13 Novice
11. juni 2008 - 15:56 #11
Ja, men dette er jo PHP:

$virksomhedsnavn = mysql_real_escape_string($_POST['virksomheder']);

Så kan du vel også hente det fra databasen på den side.
Avatar billede axel21 Juniormester
11. juni 2008 - 16:00 #12
Ja det kan man vel godt, det var bare nemmer det andet.
Avatar billede w13 Novice
11. juni 2008 - 16:02 #13
I længden vil dette være meget bedre, og det er også sådan man normalt gør.
Sikkerheden omkring det er også langt bedre.
Avatar billede axel21 Juniormester
11. juni 2008 - 16:04 #14
Jamen så må jeg jo bøje mig i støvet. Smid et svar begge 2.
Avatar billede w13 Novice
11. juni 2008 - 16:04 #15
Oki :)
Avatar billede axel21 Juniormester
11. juni 2008 - 16:07 #16
Hvordan ville i ellers fange den med $virksomhedsnavn = mysql_real_escape_string($_POST['virksomheder']);

Bare en test.
Avatar billede axel21 Juniormester
11. juni 2008 - 16:07 #17
Og her mener jeg, adressen?
Avatar billede w13 Novice
11. juni 2008 - 16:08 #18
Hvis det var adskilt af komma?
Avatar billede axel21 Juniormester
11. juni 2008 - 16:09 #19
ja..
Avatar billede w13 Novice
11. juni 2008 - 16:12 #20
F.eks.:

$virksomhedsarray = split(",",$_POST['virksomheder']);
$virksomhedsnavn = $virksomhedsarray[0];
$virksomhedsadresse = $virksomhedsarray[1];
Avatar billede axel21 Juniormester
11. juni 2008 - 16:16 #21
Tak for hjælpen...
Avatar billede w13 Novice
11. juni 2008 - 16:16 #22
No problem. Og tak for point!
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