Detta är genomförbart som en associativ array.
Allt du behöver göra är att ändra
$array[] = $row
till
$array[$row['ID']] = $row
Du måste se till att ID
kolumnen i din databas är unik så att den associativa arrayen inte skriver över nycklar (i vilket fall endast den sista posten med dubbletter av ID:n skulle finnas kvar)
REDIGERA (2015-11-19)
Även om din 'mysql loop' - det är bara en vanlig PHP while
slinga som går igenom poster som ges av antingen mysql_*
eller mysqli_*
funktioner. Du går igenom det returnerade resultatet från att köra en SQL-sats på databasen som bara hämtar och formaterar rader åt dig på ett visst sätt.
MySQL och MySQLi är två olika saker men SQL de använder är inte annorlunda (förutom kanske förberedda satser?). Att lära sig SQL är vad du ska göra och för att köra det kommer du att använda mysqli_*
från och med nu sedan mysql_*
funktioner är utfasade
Jag ville bara påpeka dessa saker för att rensa ut viss förvirring som du kanske redan har eller kommer att ha i framtiden. :)
För mer läsning om mysqli läs php.net manualen , det hela är lite komplicerat om du precis har börjat, men det är bra - förstå vad du kan och arbeta för att förstå vad du inte kan.
EDIT 2 (2015-11-19)
indexen i din $row
array är skiftlägeskänsliga
alltså ID
och id
är något helt annat. en kommer att lägga till ett undefined index
fel.
Jag märkte i din utdata att id
nyckeln är faktiskt gemener så jag skulle försöka ändra till det.
Lycka till!