22. maj 2004 - 20:03
Der er
5 kommentarer og
1 løsning
radomize multidimensional array
Jeg benytter nedenstående kode til at skabe en multidimensional array.
class oData{
var $id, $navn, $adresse;
function oData($id, $navn, $adresse){
$this->id = $id;
$this->navn = $navn;
$this->adresse = $adresse;
}
}
$result = @mysql_query("SELECT * FROM butikker");
$butikker = array();
while ($n = @mysql_fetch_array($result)){
$butikker[] = new oData($n['id'], $n['navn'], $n['adresse']);
}
Hvordan kan jeg, for at bruge et godt dansk ord, radomize mit array? De individuelle id, navn og adresse hører sammen og skal blive ved med at hører sammen. Det er rækkefølgen på hvert sæt id, navn, adresse, der skal radomizes.
Slettet bruger
23. maj 2004 - 21:26
#6
Egentlig har du jo heller ikke et multidimensionelt array. Det er bare et simpelt endimensionelt array, hvor de enkelte elementer bare er objekter.
Du ville have haft et multidimensionelt array, hvis du havde gjort således:
while ($n = @mysql_fetch_assoc($result)){
$butikker[] = $n;
}
Forresten: Når du alligevel ikke bruger de numeriske nøgler fra dit databaseopslag, så kan du lige så godt bruge mysql_fetch_assoc i stedet for mysql_fetch_array. Der er jo ingen grund til at hente dobbelt så meget, som man har brug for. Prøv med:
while ($n = @mysql_fetch_array($result)){
print_r($n);
}
for at se, hvad jeg mener.