Avatar billede weblance Nybegynder
13. maj 2011 - 20:21 Der er 9 kommentarer og
1 løsning

Array fra sql inde i en anden array - hvordan

Hejsa

Jeg prøver at lave en array inde i en array med data fra en mysql. Det jeg har prøvet er:

$sekvens = array(1,2,3);

foreach($sekvens as $id) {
$sql = mysql_query("SELECT * FROM tabel WHERE id = '$id'");
$data = array();
$i = 1;
while($row = mysql_fetch_array($sql)) {
$sqldata = $row['data_fra_mysql'];
$data[$i] = $sqldata;
}
$i++;
}

Hvis 'data_fra-mysql' i første løkke indeholder "1, 2, 3, 4, 5", og 'data_fra_mysql' i anden løkke indeholder "6, 7, 8, 9, 0", skulle det ikke se sådan ud:

$data[1] = 1, 2, 3, 4, 5
$data[2] = 6, 7, 8, 9, 0

??

/Carl
Avatar billede majbom Novice
13. maj 2011 - 20:34 #1
det burde virke..


hvordan ser dit genererede arrya ud?

må man spørge hvorfor du bruger $data[$i] og ikke bare $data[] - når du smider værdien over i arrayet?
Avatar billede ChrisBe Nybegynder
13. maj 2011 - 21:53 #2
For mig at se får du sat $i til 1 for hver sekvens. Du skal vel have $i = 1 flyttet op før din foreach
Avatar billede michael_stim Ekspert
13. maj 2011 - 22:20 #3
#2

$i bliver kørt i whilen.
Avatar billede michael_stim Ekspert
13. maj 2011 - 22:22 #4
Men nu når jeg ser det, må jeg nok give dig ret. Som det er nu bliver der genereret et array for hver post i tabellen ;o)
Avatar billede michael_stim Ekspert
13. maj 2011 - 22:28 #5
I stedet for din tæller ($i) havde jeg nu nok brugt $id til at definere mit array.


$sekvens = array(1,2,3);

foreach($sekvens as $id) {
  $sql = mysql_query("SELECT * FROM tabel WHERE id = '$id'");
  $data = array();
  while($row = mysql_fetch_array($sql)) {
    $data[$id] = $row['data_fra_mysql'];
  }
}
Avatar billede weblance Nybegynder
14. maj 2011 - 00:33 #6
Jeg tror nok at jeg selv har fundet løsningen:

$data = array();
foreach($sekvens as $id) {
$sql = mysql_query("SELECT * FROM tabel WHERE id = '$id'");
$sqldata = array();
while($row = mysql_fetch_array($sql)) {
  $sqldata[] = $row['data_fra_mysql'];       
}
$data[] = $sqldata;
}

Så får jeg netop 3 arrays med indhold fra de 3 forskellige id'er i databasen.
Avatar billede majbom Novice
14. maj 2011 - 06:07 #7
som jeg jo skrev med $data[] i stedet for $data[$i]...
Avatar billede weblance Nybegynder
14. maj 2011 - 12:00 #8
Ja det har du fuldstændig ret i. Smid et svar så får du point.
Avatar billede majbom Novice
14. maj 2011 - 17:03 #9
kommer her :)
Avatar billede majbom Novice
16. juni 2011 - 21:30 #10
tfp :)
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