Avatar billede maxiz Nybegynder
12. marts 2009 - 10:39 Der er 6 kommentarer og
1 løsning

Hente multiple data fra mysql?

Hej eksperten.
Jeg har problemer med at hente bestemt data fra flere personer under samme string.
Eksempel:
Jeg skal have en liste over brugere, hvor ":1:" indgår et vilket som helst sted under 'kategori' som er under 'bruger'.

Koden jeg har lavet, men som ikke virker ser sådan her ud:

function get_venner3($tal) {

$tali  = mysql_query("SELECT * FROM bruger WHERE kategori LIKE'%:".$tal.":%'");
$talo  = mysql_fetch_array($tali);

return $talo;
}

$tal2 = get_venner3(1);
   
foreach ($tal2 as $tal) {
echo $tal['id'];
echo "<br>";
}

Som sagt skal denne kode hente alle brugere som ar :1: et sted i deres 'kategori string.
Prøv at hjælp mig tak :)
Avatar billede majbom Novice
12. marts 2009 - 10:51 #1
hvad sker der ikke?
Avatar billede maxiz Nybegynder
12. marts 2009 - 10:58 #2
Før man sætter " echo $tal2['id']; " ind i en foreach, viser den det første navn. Men lige så snart den kommer ind i en foreach viser den fejl. Jeg har også prøvet med While funktionen
Avatar billede jakobdo Ekspert
12. marts 2009 - 11:22 #3
Denne funktion er forkert:

function get_venner3($tal) {
$tali  = mysql_query("SELECT * FROM bruger WHERE kategori LIKE'%:".$tal.":%'");
$talo  = mysql_fetch_array($tali);
return $talo;
}

Prøv med:

function get_venner3($tal) {
$query  = mysql_query("SELECT * FROM bruger WHERE kategori LIKE'%:".$tal.":%'");
while($row = mysql_fetch_array($query)){
$talo[]  = $row;
}
return $talo;
}

Og prøv så lige:

echo '<pre>';
print_r(get_venner3(1));
echo '</pre>';
Avatar billede maxiz Nybegynder
12. marts 2009 - 11:30 #4
tak for hjælpen det virker nu :)
Avatar billede jakobdo Ekspert
12. marts 2009 - 11:35 #5
Svar!
Avatar billede jakobdo Ekspert
12. marts 2009 - 11:37 #6
Du bør måske lave:

function get_venner3($tal) {
    //Retur array.
    $talo = array();
    //Vores SQL
    $query  = mysql_query("SELECT * FROM bruger WHERE kategori LIKE'%:".$tal.":%'");
    //Har vi nogle som matcher ?
    if(mysql_num_rows($query)>0){
        //Vi tager række for række.
        while($row = mysql_fetch_array($query)){
            //Læser det ind i vores array.
            $talo[]  = $row;
        }
    }
    //Sender array retur
    return $talo;
}
Avatar billede jakobdo Ekspert
14. marts 2009 - 20:25 #7
Takker 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