Ik wil graag een select opslaan in een array zodat ik deze later kan gebruiken.

Momenteel doe ik het zo:


// Selecteer emails uit wachtrij
$query = "SELECT * FROM ******** WHERE ******** = 'n' ORDER BY ********* ASC LIMIT $limit";
$query = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($query))
{
  bla bla bla	
}


Ik wil dus nu dat dit in een array komt en ik verder in de code wel gewoon $row['aanvraag_p_omschrijving'] of $row['id'] kan gebruiken zonder dat ik de complete code moet gaan aanpassen.

Er komen zo meteen 2 loops die allebei van de array gebruik moeten maken
1. DELETE wachtwij in SQL
2. Ga emails versturen


Het lijkt me niet moeilijk maar kan het niet echt vinden.
.... ipv assoc gebruik je array.

Array met meerdere waardes heeft dus ook zijn eigen keys... dus je zal je code moeten aanpassen.
maak gebruik van een foreach ipv een while als je je code minimaal wilt aanpassen.

Dat is me duidelijk maar het punt is.

dat er 2 loops komen en deze niet 2x de select op de db mogen doen.
Ik wil eigenlijk een array en die dan later staat aan roepen binnen de code.

"dat er 2 loops komen en deze niet 2x de select op de db mogen doen."

Waarom zou je dit niet willen doen?


Je kunt toch ook gewoon een eigen array maken dan en deze vullen?
Ik wil dus een eigen array maken maar hoe zet ik al die database waardes in een array.

zodat ik ze later kan aanroepen via een loop.
Dat is me even niet duidelijk
is het niet makkelijker om gewoon een variabel aan te maken?

$variabel = mysql_fetch_array($query);

kun je $variabel altijd later weer gebruiken...


Maar goed:
<?php
$variabel = array();
while(($row = mysql_fetch_assoc($query))) {
$variabel[] = $row['veld'];
}
?>
Volgens mij is dit precies wat ik wil hebben.
Ga er eens mee testen.
Bedankt.
of zonder tussenstappen:

<?php
while($variabel[] = mysql_fetch_assoc($query)) {
}
?>

[size=xsmall]Toevoeging op 04/09/2014 11:43:53:[/size]

en die { } kunnen ook vervangen door een ;
Perfect man ik heb nu dit als test gemaakt en dat gaat doen wat ik wil.


$query = mysql_query("SELECT * from ****** limit 10") or die(mysql_error());
while($row_array[] =  mysql_fetch_assoc($query));

foreach($row_array as $row) {
  
  echo $row['user_id'].'<br />';
}

foreach($row_array as $row) {
  
  echo $row['user_id'].'<br />';

}
Omdat je toch de uitgerangeerde mysql_* functies niet zou moeten gebruiken:

<?php
// mysqli
$res = $mysqli->query("SELECT ..... FROM .....");
$variable = $res->fetch_all(MYSQLI_ASSOC);

// PDO
$stm = $pdo->query("SELECT ..... FROM .....");
$variable = $stm->fetchAll(PDO::FETCH_ASSOC);
?>

Reageren