bạn đang ghi đè tất cả ba biến của mình bên trong vòng lặp while trong mỗi lần lặp, Đó là lý do tại sao bạn chỉ nhận được một kết quả (là tập dữ liệu cuối cùng được thực thi bên trong while
vòng lặp.
Về cơ bản, có 3 điều bạn có thể làm để giải quyết vấn đề của mình.
1.Sử dụng một mảng để lưu trữ tất cả các kết quả mà bạn nhận được từ vòng lặp
while ($y=mysqli_fetch_array($sql)) {
$mrk[] = implode("", DekripCBC($y['nama_merk']));
$mdl[] = implode("", DekripCBC($y['nama_model']));
$wrn[] = implode("", DekripCBC($y['warna']));
}
2.Sử dụng một mảng được xác định trước để lưu trữ tất cả các kết quả mà bạn nhận được từ vòng lặp bằng cách sử dụng array_push
.
/**There are 3 ways to define an empty array. You can use any of the following
1.$emptyArray = [];
2.$emptyArray = array();
3.$emptyArray = (array) null;
* */
$dataSet =[];
while ($y=mysqli_fetch_array($sql)) {
$data['mrk'] = implode("", DekripCBC($y['nama_merk']));
$data['mdl'] = implode("", DekripCBC($y['nama_model']));
$data['wrn'] = implode("", DekripCBC($y['warna']));
array_push($dataSet ,$data);
}
3. cấu trúc các giá trị vào biến của bạn
while ($y=mysqli_fetch_array($sql)) {
// I have added a seprator(,) for all the variables so that there will be a , after every result and it wouldn't make you confused at the end
$mrk .= implode("", DekripCBC($y['nama_merk'])).',';
$mdl .= implode("", DekripCBC($y['nama_model'])).',';
$wrn .= implode("", DekripCBC($y['warna'])).',';
}
Tôi thực sự khuyên bạn nên sử dụng phương pháp số 1 hoặc số 2.
Tôi hy vọng điều này sẽ giúp bạn giải quyết vấn đề của mình.
Nếu bạn muốn tìm kiếm nhiều id bằng cách sử dụng truy vấn:(vì tôi đã đề cập trong các nhận xét, tôi sẽ thêm nó vào đây.)
VÍ DỤ:
//You have multiple ids that you get from the session.
$jns = [12,13,4,5];
//So now you can use a foreach loop to loop all the ids and use the query to get relevant data
foreach($jns as $id){
$sql = mysqli_query($kns, "Select stok.id_stok as id_stok, merk.nama_merk as nama_merk, model.nama_model as nama_model, stok.warna as warna FROM stok INNER JOIN model On stok.id_model=model.id_model INNER JOIN merk ON model.id_merk=merk.id_merk where id_stok = '$id' ") or die(mysqli_error($kns));
while ($y=mysqli_fetch_array($sql)) {
$mrk[] = implode("", DekripCBC($y['nama_merk']));
$mdl[] = implode("", DekripCBC($y['nama_model']));
$wrn[] = implode("", DekripCBC($y['warna']));
}
}
Bằng phương pháp này, bạn có thể lấy tất cả dữ liệu cho các id được đề cập ở trên và gán nó vào mảng.