Điều này có thể thực hiện được như một mảng kết hợp.
Tất cả những gì bạn phải làm là thay đổi
$array[] = $row
đến
$array[$row['ID']] = $row
Bạn cần đảm bảo rằng ID
cột trong cơ sở dữ liệu của bạn là duy nhất để mảng kết hợp không ghi đè lên các khóa (trong trường hợp này, chỉ bản ghi cuối cùng có ID trùng lặp sẽ còn lại)
CHỈNH SỬA (19-11-2015)
Cũng về 'vòng lặp mysql' của bạn - nó chỉ là một while
PHP thông thường vòng lặp lặp qua các bản ghi được cung cấp bởi mysql_*
hoặc mysqli_*
chức năng. Bạn đang lặp lại kết quả trả về khi thực thi một câu lệnh sql trên cơ sở dữ liệu chỉ tìm nạp và định dạng các hàng cho bạn theo một cách nhất định.
MySQL và MySQL i là hai thứ khác nhau nhưng SQL mà chúng sử dụng không khác gì nhau (ngoại trừ các câu lệnh có thể đã chuẩn bị sẵn?). Học SQL là những gì bạn sẽ làm và để thực thi nó, bạn sẽ sử dụng mysqli_*
kể từ bây giờ kể từ mysql_*
các chức năng không được dùng nữa
Tôi chỉ muốn chỉ ra những điều đó để giải tỏa một số nhầm lẫn mà bạn có thể đã hoặc sẽ mắc phải trong tương lai. :)
Để đọc thêm về mysqli, hãy đọc hướng dẫn sử dụng php.net , tất cả đều hơi phức tạp nếu bạn mới bắt đầu nhưng điều đó ổn - hãy hiểu những gì bạn có thể và nỗ lực để hiểu những gì bạn không thể.
CHỈNH SỬA 2 (19-11-2015)
các chỉ mục trong $row
của bạn mảng có phân biệt chữ hoa chữ thường
vì vậy ID
và id
là một cái gì đó hoàn toàn khác. một sẽ thêm tối đa một undefined index
lỗi.
Tôi nhận thấy trong đầu ra của bạn có id
khóa thực sự là chữ thường vì vậy tôi sẽ thử thay đổi thành điều đó.
Chúc các bạn thành công!