Avatar billede marzman Nybegynder
28. september 2008 - 13:05 Der er 17 kommentarer

generel mysql udtræk

Hej Eksperter....

Jeg sidder lige og arbejder på en generel funktion til at lave udtræk fra mysql, men mangler lige en ide til hvordan jeg kan få den til at gøre følgende.

Jeg vil have det så der bliver oprettet en variable med rækken i databsens navn. således:

$xxx = $row['xxx'];

for alle rækker i databasen.

jeg rodder lidt med $row = mysql_fetch_assoc($result) og så noget foreach inde i den, men det er sq langt tid siden, så jeg kan ikke lige huske hvordan jeg skal sætte den op.

Nogen der kan hjælpe ?

venlig hilsen Kenneth
Avatar billede jakobdo Ekspert
28. september 2008 - 14:12 #1
Er det til en funktion eller ?

For du kan vel lave:
$row = mysql_fetch_assoc($result);
extract($row);

Så har du $noget, $andet, $osv ....
Avatar billede marzman Nybegynder
28. september 2008 - 14:26 #2
jah det er noget af de rigtige... men på denne måde kan man nødventigvis kun udskrive fra første array...
dermed får jeg kun første række...

Jeg vil godt have det som en et array, så jeg kan udskrive med $xxx[10]; hvor 10 er rækkenummeret
Avatar billede olebole Juniormester
28. september 2008 - 15:48 #3
<ole>

Jeg forstår ikke rigtig spørgsmålet, men er det noget à la dette, du mener:

$a = array();
while ($row=mysql_fetch_assoc($res))
    a[] = $row;
}

Så har du et array af rækker, du kan bladre igennem:

print $a[23]["navn"];
print $a[23]["adresse"];

/mvh
</bole>
Avatar billede jakobdo Ekspert
28. september 2008 - 16:03 #4
Prøv at vis lidt mere info om hvad du ønsker som input og hvordan dit output skal se ud.
Avatar billede marzman Nybegynder
28. september 2008 - 17:02 #5
olebole - det script virker ikke :)

Nej hvis du har en tabel som ser således ud:
id | name | email
1 | kenneth | test@test.dk
2 | jacob | test2@test.dk

Så er min tanke at jeg for alle tabeller skal kunne hente data. således at $id[0] er det samme som 1 og $name[0] er det samme som kenneth.

på den måde kan jeg lave en funktion som beskeiver alle udtræk fra samme database. :)

Håber det var lidt mere forståligt...
Avatar billede jakobdo Ekspert
28. september 2008 - 17:21 #6
Kan du ikke bruge et multidimensionelt array ?
Og ellers skal du vel have fat i noget ala: mysql_field_name, som kan give dig navnene på de forskellige felter i din tabel.
Avatar billede showsource Seniormester
28. september 2008 - 17:32 #7
mysql_result() er vel gangbar her ?
Avatar billede showsource Seniormester
28. september 2008 - 17:34 #8
Den er iøvrigt altid gangbar! :O)
Avatar billede marzman Nybegynder
28. september 2008 - 17:40 #9
Showsource -> nej det har du ikke ret i... da du ikke kan navngive således at
$xxx = $row['xxx']; via mysql_result...
Avatar billede jakobdo Ekspert
28. september 2008 - 17:45 #10
Hvorfor ikke bare tilgå det via:

$data[0][0]
$data[0][1]
$data[1][1]
osv... ?
Avatar billede marzman Nybegynder
28. september 2008 - 17:47 #11
fordi jeg godt vil have det til at stå som særskildte arrays.. altså hvor fx. name, email og id ligger i tre varibler... og du derefter kan indsætte række numre og hente dem..
Avatar billede w13 Novice
28. september 2008 - 17:55 #12
Det kan du vel også sagtens lave næsten ligesom jakobdo viser?
Avatar billede jakobdo Ekspert
28. september 2008 - 18:10 #13
Er det bare fordi du vil have det lavet eller fordi du ikke kan se et multi-dimensionelt array er det samme ?
Om du bruger:

$id[0], $id[1] osv...
$name[0], $email[1] osv...
$email[0], $email[1] osv...

Eller

$data[0][0],$data[1][0] osv...
$data[0][1],$data[1][1] osv...
$data[0][2],$data[1][2] osv...

Eller

$data[0]['id'],$data[1]['id'] osv...
$data[0]['name'],$data[1]['name'] osv...
$data[0]['email'],$data[1]['email'] osv...
Avatar billede marzman Nybegynder
28. september 2008 - 18:13 #14
hmm jeg tror jeg laver det på en anden måde... det bliver for besværligt som jeg først havde tæmkt det.

Min tanke var at indsætte mit indhold via funktioner i det ekisterende program, men da man skal bruge en while løkke for at indsætte indholdet alligvel så bliver det faktisk det samme hvis man gør det i selve programmet...

beklager jeg har taget jeres tid. da jeg jo faktisk viste det på forhånd...

points anyone ?
Avatar billede jakobdo Ekspert
28. september 2008 - 18:45 #15
Ikke hvis ikke mine indlæg har givet noget til dit videre forløb.
Avatar billede showsource Seniormester
28. september 2008 - 19:56 #16
Det her forstår jeg ikke.

Du kan til enhver hente et resultat fra en query med

mysql_result(0,"id")
mysql_result(0,"name")

mysql_result(1,"id")
mysql_result(1,"name")

o.s.v.
eller

mysql_result(0,0)
mysql_result(0,1)

mysql_result(1,0)
mysql_result(1,1)


Hvis du gerne vil gemme i et array, skal du vel ha' fat i de enkelte kolonne navne ?
Og ja, så skal du bruge while eller en for løkke
Avatar billede jakobdo Ekspert
28. september 2008 - 20:30 #17
showsource, det som marzman ønsker, er noget ala:

$res = mysql_query("SELECT `id`, `name`, `email` FROM tabel_name");
while($row = = mysql_XXXXXX){
//Noget kode...
}

Output:
$id // array med info
$name // array med info
$email // array med info
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