Avatar billede supermand69 Nybegynder
10. september 2006 - 15:32 Der er 8 kommentarer og
2 løsninger

lave array fra udtræk af mysql

Kan det på en eller anden måde nemt lade sig gøre at hente sit udtræk fra MySQL og lave et array uden at bruge værdierne med det samme?

altså så man får sine rækker i et array sådan her

$row[0]['felt1'] = 'noget';
$row[0]['felt2'] = 'hej';

$row[1]['felt1'] = 'jens'
$row[1]['felt2'] = 'kat'

$row[2]['felt1'] = 'hus'
$row[2]['felt2'] = 'fodbold'
Avatar billede wuhtzu Nybegynder
10. september 2006 - 15:41 #1
du kan da bare lade den kører igennem en while-løkke:

while($d=mysql_fetch_array($mysqlquery)){
  $i='0';
  $row[$i][felt1]=d[felt1'];
  $row[$i][felt2]=d[felt2'];
  $row[$i][felt3]=d[felt3'];
  $i++;
}

Der er med stor sandsynlighed en indbygget funktion til at gøre det, men det der vil helt sikkert virke... så skal du selvfølgelig lige gøre et stykke arbejde idet du skriver koden, og navngive alle felterne, men derfra så vil det jo gå af sig selv :)
Avatar billede supermand69 Nybegynder
10. september 2006 - 16:14 #2
ja, men det var sådan set den indbyggede funktion jeg søgte :) hvis den findes
Avatar billede wuhtzu Nybegynder
10. september 2006 - 21:22 #3
Kender jeg ikke lige på stående fod, men http://no.php.net/manual-lookup.php?pattern=mysql_fetch&lang=en vil måske indeholde noget interessant :)

Ellers generelt bare php.net og søg på noget der minder om det du ønsker, mysql_, array, mysql+array eller lign.
Avatar billede coderdk Praktikant
11. september 2006 - 09:50 #4
Det kan da gøres nemt:

$result = array():
while ( $row = mysql_fetch_array( $qh ) )
{
  $result[] = $row;
}
Avatar billede coderdk Praktikant
11. september 2006 - 09:52 #5
Ville bruge mysql_fetch_assoc i stedet for mysql_fetch_array
Avatar billede supermand69 Nybegynder
10. oktober 2006 - 20:11 #6
hvad gør mysql_fetch_assoc() ?
Avatar billede coderdk Praktikant
10. oktober 2006 - 21:04 #7
mysql_fetch_assoc henter kun et associativt array ud, f.eks:

$qh = mysql_query( "SELECT navn, efternavn, FROM tabel" );
$row = mysql_fetch_assoc( $qh );

henter:

$row = array( "navn" => "et navn", "efternavn" => "et efternavn" );

hvorimod

$qh = mysql_query( "SELECT navn, efternavn, FROM tabel" );
$row = mysql_fetch_array( $qh );

henter:

$row = array( 0 => "et navn", "navn" => "et navn", 1 => "et efternavn", "efternavn" => "et efternavn" );

ud - man tilgår dem næsten altid med $row['navn'] og stort set aldrig med $row[0], derfor er det spild at hente det ud ;)
Avatar billede supermand69 Nybegynder
10. oktober 2006 - 21:15 #8
åhh.. :)

man reducerer jo sin query drastisk, og hvis man alligevel tilgår sine felter med feltnavnet er det jo ligemeget

lav et svar
Avatar billede coderdk Praktikant
10. oktober 2006 - 22:10 #9
Selve queryen tager samme tid, men det er laget der returnerer data der så lige skal lave dobbeltarbejde :) Ingen grund til at bruge det, hvis man ikke bruger nummerisk indeksering :)
Avatar billede supermand69 Nybegynder
11. oktober 2006 - 16:38 #10
coder > rart jeg lige blev opmærksom på det i hvert fald :)
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