Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

cara menggunakan sesi dan larik dalam kueri basis data untuk menyimpan dan menampilkan data

Anda menimpa ketiga variabel Anda di dalam loop sementara di setiap iterasi, Itu sebabnya Anda hanya mendapatkan satu hasil (yang merupakan kumpulan data terakhir yang dieksekusi di dalam while lingkaran.

Pada dasarnya ada 3 hal yang dapat Anda lakukan untuk menyelesaikan masalah Anda.

1.Gunakan array untuk menyimpan semua hasil yang Anda dapatkan dari loop

    while ($y=mysqli_fetch_array($sql)) {
          $mrk[] = implode("", DekripCBC($y['nama_merk']));
          $mdl[] = implode("", DekripCBC($y['nama_model']));
          $wrn[] = implode("", DekripCBC($y['warna']));
     }

2.Gunakan array yang telah ditentukan sebelumnya untuk menyimpan semua hasil yang Anda dapatkan dari loop menggunakan 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.menggabungkan nilai ke dalam variabel Anda

  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'])).',';
  }

Saya sangat menyarankan Anda untuk menggunakan metode no.1 atau no.2.

Saya harap ini akan membantu Anda menyelesaikan masalah Anda.

Jika Anda ingin mencari beberapa id menggunakan kueri:(sejak saya sebutkan di komentar, saya akan menambahkannya di sini.)

EX:

//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']));
     }
  }

Dengan metode ini Anda bisa mendapatkan semua data untuk id yang disebutkan di atas dan menetapkannya ke array.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolom Tergantung pada kolom lainnya

  2. Perbarui nilai dari tabel MYSQL tanpa memuat ulang halaman?

  3. mysql pilih nilai n max teratas

  4. Grup Parameter AWS RDS tidak mengubah penyandian MySQL

  5. Bagaimana cara menyalin database dengan mysqldump dan mysql dengan Python?