Kondisi dalam perulangan sql

siang mas,

saya punya dua table, arebalkon & produkkon.

saya mau kurangin produkkon.n_stock-arebalkon.n_qty nah jika ada , arebalkon.n_qty > produkkon.n-stock, maka keluar dari halaman, jika tidak tidak ada yang lebih maka, baru bisa di update..

$query5 = $db->prepare("SELECT * FROM  arebalkon WHERE c_invno='$C_INVNO'");
        $query5->execute();
          while($r1=$query5->fetch()){
            $n_booked=$r1['n_qtyin'];
            $c_prodcode=$r1['c_prodcode'];

            $query10 = $db->prepare("SELECT * FROM produkkon
                                     WHERE c_prodcode = '$c_prodcode'
                                     AND c_cusno = '$C_CUSNO'
                                     AND c_invnokon='$C_INVNO' order by n_stock ASC  ");
            $query10 ->execute();
            $row=$query10->fetch();

              $granStok=$row['n_stock']-$row['n_booked'];

                if ($n_booked > $granStok) {

                  echo "<script>alert('Stok kurang..!!!');
                          window.location.href='../../media.php?module=$module'</script>";
                }else{
                  mysql_query("UPDATE produkkon set n_stock=n_stock-$n_booked
                               WHERE c_prodcode = '$row[c_prodcode]'
                               AND c_invnokon = '$row[c_invnokon]'
                               AND   c_cusno  = '$row[c_cusno]'");
                }
          }

permasalahnya jika saya pakai kode (diatas), akan di arahkan keluar (karna ada arebalkon.n_qty > produkkon.n-stock) dan data lain nya ke update juga,

yang saya inginkan , data tidak ke update jika ada arebalkon.n_qty > produkkon.n-stock,

avatar alfit21
@alfit21

8 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

Coba ditambahkan break; gan. <pre> if ($n_booked &gt; $granStok) {

              echo &quot;&amp;lt;script&amp;gt;alert(&#039;Stok kurang..!!!&#039;);
                      window.location.href=&#039;../../media.php?module=$module&#039;&amp;lt;/script&amp;gt;&quot;;
              break;

}else{ } </pre>

avatar arifhd22
@arifhd22

4 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Tanggapan

sudah mas, masih begitu.

Jawaban Terpilih

<pre> $query=$db-&gt;prepare("SELECT * FROM arebalkon ak LEFT JOIN produkkon pk ON pk.c_invnokon = ak.c_invno WHERE pk.c_invnokon = '$C_INVNO' AND pk.c_prodcode = ak.c_prodcode AND pk.c_cusno = '$C_CUSNO' AND ak.n_qtyin &gt; pk.n_stock - pk.n_booked"); $query-&gt;execute(); $cek=$query-&gt;rowCount(); // jika ada di block if ($cek &gt; 0) { $hasil= "block"; }else if ($cek == 0) { $hasil="true"; } </pre>

cara cek nya seperti kode diatas. Alhamdulillah solved..

avatar alfit21
@alfit21

8 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban