login  Naam:   Wachtwoord: 
Registreer je!
 Forum

result naar array

Offline Metalhead - 21/11/2007 09:50
Avatar van MetalheadHTML gevorderde He, wat is de eenvoudigste manier om een bepaald resultaat in een php-array te krijgen?

Zoiets?;
  1. $query = "SELECT DISTINCT name FROM data";
  2. $result = mysql_query($query);
  3.  
  4. for ($i = 0; $row = mysql_fetch_assoc($result); $i++) {
  5. $data[$i] = $row;
  6. }

12 antwoorden

Gesponsorde links
Offline citroen - 21/11/2007 09:54
Avatar van citroen Onbekend
  1. $query = "SELECT DISTINCT name FROM data";
  2. while($results = mysql_fetch_assoc(mysql_query($query))) {
  3. print_r($results);
  4. }
Offline Metalhead - 21/11/2007 10:13
Avatar van Metalhead HTML gevorderde Huh?
Metalhead schreef:
...om een bepaald resultaat in een php-array te krijgen


Ik wil het niet printen... ik ga er bewerkingen op uitvoeren...
Offline citroen - 21/11/2007 10:37 (laatste wijziging 21/11/2007 10:38)
Avatar van citroen Onbekend wat doet print_r denkt ge? dit print een array! al uw resultaten zitten dus in $results
Offline Metalhead - 21/11/2007 11:08
Avatar van Metalhead HTML gevorderde
citroen schreef:
wat doet print_r denkt ge? dit print een array! al uw resultaten zitten dus in $results

Ik denk dat dat print_r print. En dat wil ik dus niet.
Offline citroen - 21/11/2007 12:00
Avatar van citroen Onbekend Je snapt het echt niet é. Uw resultaten zitten zowiezo in $results, print_r toont ze gewoon. Verwijder die print_r en gebruik $results voor al uw resultaten...
Offline Bruud - 21/11/2007 12:14
Avatar van Bruud Nieuw lid dus dan kan hij later result[0] gebruiken
Offline Metalhead - 21/11/2007 13:13
Avatar van Metalhead HTML gevorderde Begrijp ik het niet?

Ik wil onder de while loop een array over houden... Dus daar kan ik geen result[0] gebruiken, want op die plek is result[0] de laatste waarde van de opgevraagde sql-result.
Je blijft er maar bij dat ik in de loop mijn code ga zetten, maar dat wil ik dus niet...
Offline Wim - 21/11/2007 13:22
Avatar van Wim Crew algemeen een while is toch niet nodig?

php code - Bekijk de code met highlighting - Klap code in

  1. $query = "SELECT DISTINCT name FROM data";
  2. $results = mysql_fetch_assoc(mysql_query($query));
  3.  
  4. //hier begint de output. $results is je array!
  5. print '<pre>';
  6. print_r($results);
  7. print '</pre>';

Offline citroen - 21/11/2007 13:31
Avatar van citroen Onbekend Tuurlijk is die niet nodig, maar als hij per regel nog iets wou uitvoeren dan was dat de mogelijkheid, het komt er allesinds opneer dat zowel bij uw code als de mijne achter de loop alles in $results zit. Daar kom je alleen achter als je ook de code werkelijk TEST!
Offline vinTage - 21/11/2007 13:53
Avatar van vinTage Nieuw lid Je kan toch gewoon mysql_fetch_array($result) gebruiken?
Offline KingIsulgard - 23/09/2009 10:34 (laatste wijziging 23/09/2009 10:35)
Avatar van KingIsulgard Nieuw lid Zoals hierboven zal niet werken.

Als je de hele table naar een array wil laden en de kolomnamen behouden als array keys dan moet je dat op deze manier doen. Ik heb daar een manier voor gevonden om dit te doen. Manueel zou dit enorm veel moeite zijn als er veel kolommen zijn en is het veel werk om aan te passen naar andere situaties maar dit kan je gwn copy pasten naar een ander project om juist hetzelfde te doen.

// Read records
$result = mysql_query("SELECT * FROM table;") or die(mysql_error());

// Put them in array
for($i = 0; $array[$i] = mysql_fetch_assoc($result); $i++) ;

// Delete last empty one
array_pop($array);

Het verwijderen van de laatste record met array_pop is essentieel omdat de laatste altijd leeg is. Er was geen andere manier.
Offline ArieMedia - 23/09/2009 11:30
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
KingIsulgard schreef:
Zoals hierboven zal niet werken.

Als je de hele table naar een array wil laden en de kolomnamen behouden als array keys dan moet je dat op deze manier doen. Ik heb daar een manier voor gevonden om dit te doen. Manueel zou dit enorm veel moeite zijn als er veel kolommen zijn en is het veel werk om aan te passen naar andere situaties maar dit kan je gwn copy pasten naar een ander project om juist hetzelfde te doen.

// Read records
$result = mysql_query("SELECT * FROM table;") or die(mysql_error());

// Put them in array
for($i = 0; $array[$i] = mysql_fetch_assoc($result); $i++) ;

// Delete last empty one
array_pop($array);

Het verwijderen van de laatste record met array_pop is essentieel omdat de laatste altijd leeg is. Er was geen andere manier.
Eeuhm.. laatste post was in 2007, denk niet dat jou reactie nog veel nut heeft?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s