[PHP + MySQL] Dynamische Array / Data uit MySQL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Servowire
  • Registratie: September 2000
  • Laatst online: 13-08 15:56

Servowire

prutser:~#

Topicstarter
Ik heb de volgende rows in een MySQL database:

id, naam, leeftijd, woonplaats

Deze worden uitgelezen met een query, en vervolgens wil ik deze dynamisch in een array hebben, zodat ik er mee kan vergelijken e.d.

Ik heb zoiets in gedachtten:

code:
1
2
3
4
5
6
7
8
9
10
11
12
<?
include "db.php";

$data = mysql_query("SELECT * FROM namen ORDER BY id");

$namen = array("test");
    while($row = mysql_fetch_array($data))
    {
        array_push($namen, "id" => "$row['id']", "naam" => "$row['naam']"))
    }

?>


Ik krijg het niet werkend... iemand een ideetje?

met papier mache kun je alles maken!!


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Je doet iets verkeerd met toewijzen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
  array_push($namen, "id" => "$row['id']", "naam" => "$row['naam']"))
  // deze regel klopt niet

  array_push($namen, "id" => "$row[id]", "naam" => "$row[naam]"))
  // dat zou dan dit horen zijn

  array_push($namen, "id" => $row['id'], "naam" => $row['naam']))
  // maar dat slaat nergens op: dus deze is de meest normale en juiste

  array_push($namen, array("id" => $row['id'], "naam" => $row['naam']));
  // er zat echter nog een syntax fout in: "array(" en de puntkomma moesten nog toegevoegd worden


Beter is nog om het zo te doen:
PHP:
1
2
3
4
5
6
7
8
$rows = array();
while ( $rs = mysql_fetch_assoc($result) )
{
  $rows[] = $rs;
  /* of:
  array_push($rows, $rs);
  */
}


En wat jij rows noemt zijn columns ;)

[ Voor 19% gewijzigd door Michali op 16-03-2005 12:16 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
array_push geeft ietwat overhead. Het gebruikt van [] is efficienter;

PHP:
1
2
3
4
5
6
7
8
<?php
include "db.php";
$data = mysql_query("SELECT * FROM namen ORDER BY id");
$namen = array("test");
while($row = mysql_fetch_array($data)) {
  $namen[] = array("id" => $row['id'], "naam" => $row['naam']);
}
?>

[ Voor 20% gewijzigd door frickY op 16-03-2005 13:43 ]