如何使用基于数组的内爆分离多个值或拆分多个值?

jk9hmnmh  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(383)

我使用dynamics表单输入数据,其中一列包含使用内爆(,)的多个数据。但是,当我输入时,动态表单会设法执行我想要的任意多个输入,但对于“mekanik”表,它变成了一个。
pict one:输入数据的模式
对于“keluhan”,每个表都是不同的,但“mekanik”变成了一个值。怎么把它分开?
在mechanical列中,第一行应为操作员,第二行应为abdullah muis。
图二:table
这是我的密码:
这是我输入的“keluhan”和“mekanik”模态代码,我使用dynamic\u fuild作为动态形式。
在此处输入图像描述

  1. <?php
  2. // mengambil data barang dari tabel dengan kode terbesar
  3. $query = mysqli_query($connect, "SELECT max(kode_pg) as kodeTerbesar FROM tb_pg_cs");
  4. $data = mysqli_fetch_array($query);
  5. $kodepg = $data['kodeTerbesar'];
  6. // mengambil angka dari kode barang terbesar, menggunakan fungsi substr dan diubah ke integer dengan (int)
  7. $urutan = (int) substr($kodepg, 2, 7);
  8. // nomor yang diambil akan ditambah 1 untuk menentukan nomor urut berikutnya
  9. $urutan++;
  10. // membuat kode barang baru
  11. // string sprintf("%03s", $urutan); berfungsi untuk membuat string menjadi 3 karakter
  12. // misalnya string sprintf("%03s", 22); maka akan menghasilkan '022'
  13. // angka yang diambil tadi digabungkan dengan kode huruf yang kita inginkan, misalnya PC
  14. $huruf = "SC";
  15. $kodepg1 = $huruf . sprintf("%07s", $urutan);
  16. ?>
  17. <?php
  18. include "support/fungsi_romawi.php";
  19. $bulan = date('n');
  20. $romawi = getRomawi($bulan);
  21. // mengambil data barang dari tabel dengan kode terbesar
  22. $query = mysqli_query($connect, "SELECT max(kode_pg) as kodeTerbesar FROM tb_pg_cs");
  23. $data = mysqli_fetch_array($query);
  24. $kodepg = $data['kodeTerbesar'];
  25. // mengambil angka dari kode barang terbesar, menggunakan fungsi substr dan diubah ke integer dengan (int)
  26. $urutan = (int) substr($kodepg, 6, 6);
  27. // nomor yang diambil akan ditambah 1 untuk menentukan nomor urut berikutnya
  28. $urutan++;
  29. // membuat kode barang baru
  30. // string sprintf("%03s", $urutan); berfungsi untuk membuat string menjadi 3 karakter
  31. // misalnya string sprintf("%03s", 22); maka akan menghasilkan '022'
  32. // angka yang diambil tadi digabungkan dengan kode huruf yang kita inginkan, misalnya PC
  33. $tahun = date ('Y');
  34. $nomor = "FORM/SC/".$romawi."/".$tahun."/";
  35. $kode = sprintf("%07s", $urutan);
  36. $noformpg = $nomor. $kode;
  37. ?>
  38. <div class="modal fade" id="addnew" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  39. <div class="modal-dialog">
  40. <div class="modal-content">
  41. <div class="modal-header">
  42. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  43. <center><h4 class="modal-title" id="myModalLabel">Tambah Data</h4></center>
  44. </div>
  45. <div class="modal-body">
  46. <div class="container-fluid">
  47. <form method="POST" action="system/add_pg.php" id="form_materi">
  48. <input class="form-control" type="hidden" name="kodepg" value="<?php echo $kodepg1 ?>" required>
  49. <div class="row form-group">
  50. <div class="col-sm-3">
  51. <label class="control-label modal-label">NO. PENGAJUAN</label>
  52. </div>
  53. <div class="col-sm-9">
  54. <input class="form-control" type="text" name="noformpg" value="<?php echo $noformpg ?>" required>
  55. </div>
  56. </div>
  57. <div class="row form-group">
  58. <div class="col-sm-3">
  59. <label class="control-label modal-label">TANGGAL</label>
  60. </div>
  61. <div class="col-sm-9">
  62. <input class="form-control" type="date" name="waktupg" placeholder="Masukkan Hari dan Tanggal Pengajuan" autocomplete="off" required>
  63. </div>
  64. </div>
  65. <div class="row form-group">
  66. <div class="col-sm-3">
  67. <label class="control-label modal-label">DEPARTEMEN</label>
  68. </div>
  69. <div class="col-sm-9">
  70. <select class="form-control selectpicker" type="text" name="deptpg" id="deptpg" data-live-search="true" required>
  71. <option selected value> -- Pilih Departemen -- </option>
  72. <?php
  73. $query = mysqli_query($connect, "SELECT nama_dept FROM tb_dept");
  74. while ($data = mysqli_fetch_array($query)) {
  75. ?>
  76. <option value="<?=$data['nama_dept'];?>"><?php echo $data['nama_dept'];?></option>
  77. <?php
  78. }
  79. ?>
  80. </select>
  81. </div>
  82. </div>
  83. <div class="row form-group">
  84. <div class="col-sm-3">
  85. <label class="control-label modal-label">LOKASI</label>
  86. </div>
  87. <div class="col-sm-9">
  88. <select class="form-control selectpicker" type="text" name="lokasipg" id="lokasipg" data-live-search="true" required>
  89. <option selected value> -- Pilih Lokasi -- </option>
  90. <option value="JLA 1">JLA 1</option>
  91. <option value="JLA 2">JLA 2</option>
  92. </select>
  93. </div>
  94. </div>
  95. <div class="row form-group">
  96. <div class="col-sm-3">
  97. <label class="control-label modal-label">NAMA MESIN</label>
  98. </div>
  99. <div class="col-sm-9">
  100. <select class="form-control selectpicker" type="text" name="merkpg" id="merkmes" onchange="auto_complete()" data-live-search="true" required>
  101. <option selected value> -- Pilih Mesin -- </option>
  102. <optgroup label="Mesin Forklift">
  103. <?php
  104. $query = mysqli_query($connect, "SELECT * FROM tb_mesin_forklift");
  105. while ($data = mysqli_fetch_array($query)) {
  106. ?>
  107. <label><label>
  108. <option value="<?=$data['merk_mesin'];?>"><?php echo $data['merk_mesin'];?> (<?php echo $data['tahun_mesin'];?>)</option>
  109. <?php
  110. }
  111. ?>
  112. </optgroup>
  113. <optgroup label="Mesin Produksi">
  114. <?php
  115. $query = mysqli_query($connect, "SELECT * FROM tb_mesin_produksi");
  116. while ($data = mysqli_fetch_array($query)) {
  117. ?>
  118. <label><label>
  119. <option value="<?=$data['nama_mesin'];?>"><?php echo $data['nama_mesin'];?> (<?php echo $data['tahun_mesin'];?>)</option>
  120. <?php
  121. }
  122. ?>
  123. </optgroup>
  124. </select>
  125. </div>
  126. </div>
  127. <div class="row form-group">
  128. <div class="col-sm-3">
  129. <label class="control-label modal-label">TAHUN</label>
  130. </div>
  131. <div class="col-sm-9">
  132. <input class="form-control" type="text" id="tahunmes" name="tahunpg" placeholder="Masukkan Tahun Mesin" required autocomplete="off">
  133. </div>
  134. </div>
  135. <div class="row form-group">
  136. <div class="col-sm-3">
  137. <label class="control-label modal-label">OPERATOR</label>
  138. </div>
  139. <div class="col-sm-9">
  140. <select class="form-control selectpicker" type="text" name="oppg[]" id="oppg" multiple data-live-search="true" data-none-selected-text="Pilih Operator">
  141. <?php
  142. $query = mysqli_query($connect, "SELECT nama_op FROM tb_operator");
  143. while ($data = mysqli_fetch_array($query)) {
  144. ?>
  145. <option value="<?=$data['nama_op'];?>"><?php echo $data['nama_op'];?></option>
  146. <?php
  147. }
  148. ?>
  149. </select>
  150. </div>
  151. </div>
  152. <div id="dynamic_field">
  153. <div class="row form-group">
  154. <div class="col-sm-3">
  155. <label class="control-label modal-label">KELUHAN</label>
  156. </div>
  157. <div class="col-sm-7">
  158. <textarea class="form-control" type="text" name="keluhanpg[]" placeholder="Masukkan Keluhan" autocomplete="off" rows="3"></textarea>
  159. </div>
  160. </div>
  161. <div class="row form-group">
  162. <div class="col-sm-3">
  163. <label class="control-label modal-label">MEKANIK</label>
  164. </div>
  165. <div class="col-sm-7">
  166. <select class="form-control selectpicker" type="text" name="mkpg[]" id="mkpg" multiple data-live-search="true" data-none-selected-text="Pilih Mekanik">
  167. <?php
  168. $query = mysqli_query($connect, "SELECT nama_mk FROM tb_mekanik");
  169. while ($data = mysqli_fetch_array($query)) {
  170. ?>
  171. <option value="<?=$data['nama_mk'];?>"><?php echo $data['nama_mk'];?></option>
  172. <?php
  173. }
  174. ?>
  175. </select>
  176. </div>
  177. <div class="col-sm-2">
  178. <button class="btn btn-success" type="button" name="add" id="add">
  179. <i class="glyphicon glyphicon-plus"></i>
  180. </button>
  181. </div>
  182. </div>
  183. </div>
  184. <div class="row form-group">
  185. <div class="col-sm-3">
  186. <label class="control-label modal-label">SHIFT</label>
  187. </div>
  188. <div class="col-sm-9">
  189. <select class="form-control selectpicker" type="text" name="shiftpg" id="shiftpg" data-live-search="true">
  190. <option selected value> -- Pilih Shift -- </option>
  191. <option value="1">1</option>
  192. <option value="2">2</option>
  193. </select>
  194. </div>
  195. </div>
  196. <input type="hidden" class="form-control" name="statuspg" value="PROGRESS">
  197. </div>
  198. <div class="modal-footer">
  199. <button type="button" class="btn btn-default" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> Cancel</button>
  200. <button type="submit" name="add" class="btn btn-primary"><span class="glyphicon glyphicon-floppy-disk"></span> Save</a>
  201. </div>
  202. </form>
  203. </div>
  204. </div>
  205. </div>
  206. </div>

我使用javascript来添加输入字段,因为它们是动态的。

  1. $(document).ready(function(){
  2. var i=1;
  3. $('#add').click(function(){
  4. i++;
  5. $('#dynamic_field').append('<div id="row'+i+'"><div class="row form-group"><div class="col-sm-3"><label class="control-label modal-label">KELUHAN</label></div><div class="col-sm-7"><textarea class="form-control" type="text" name="keluhanpg[]" placeholder="Masukkan Keluhan" autocomplete="off" rows="3" required></textarea></div></div><div class="row form-group"><div class="col-sm-3"><label class="control-label modal-label">MEKANIK</label></div><div class="col-sm-7"><select class="form-control selectpicker" type="text" name="mkpg[]" id="mkpg" multiple data-live-search="true" data-none-selected-text="Pilih Mekanik" required> <?php $query = mysqli_query($connect, "SELECT nama_mk FROM tb_mekanik"); while ($data = mysqli_fetch_array($query)) { ?> <option value="<?=$data['nama_mk'];?>"><?php echo $data['nama_mk'];?></option> <?php } ?></select></div><div class="col-sm-2"><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove"><i class="fa fa fa-trash"></i></button></div></div></div>');
  6. $(".selectpicker").selectpicker('refresh');
  7. });
  8. $(document).on('click', '.btn_remove', function(){
  9. var button_id = $(this).attr("id");
  10. // alert(button_id);
  11. $('#row'+button_id+'').remove();
  12. });
  13. });

这是我输入过程的代码。

  1. <?php
  2. session_start();
  3. include_once('koneksi.php');
  4. if(isset($_POST['add'])){
  5. $kodepg = $_POST['kodepg'];
  6. $noformpg = $_POST['noformpg'];
  7. $waktupg = $_POST['waktupg'];
  8. $deptpg = $_POST['deptpg'];
  9. $lokasipg = $_POST['lokasipg'];
  10. $merkpg = $_POST['merkpg'];
  11. $tahunpg = $_POST['tahunpg'];
  12. $op = isset($_POST['oppg']) && is_array($_POST['oppg']) ? $_POST['oppg'] : [];
  13. $oppg = implode(", ", $op);
  14. $keluhanpg = isset($_POST['keluhanpg']) && is_array($_POST['keluhanpg']) ? $_POST['keluhanpg'] : [];
  15. $mk = isset($_POST['mkpg']) && is_array($_POST['mkpg']) ? $_POST['mkpg'] : [];
  16. $mkpg = implode(", ", $mk);
  17. $shiftpg = $_POST['shiftpg'];
  18. $statuspg = $_POST['statuspg'];
  19. foreach ($_POST['keluhanpg'] as $key => $value) {
  20. $sql = "INSERT INTO tb_pg_cs (kode_pg,noform_pg,waktu_pg,dept_pg,lokasi_pg,merk_pg,tahun_pg,op_pg,keluhan_pg,mk_pg,shift_pg,status_pg) VALUES ('" . $kodepg . "','".$noformpg . "','".$waktupg . "','".$deptpg . "','".$lokasipg . "','".$merkpg . "','".$tahunpg . "','".$oppg . "','".$_POST['keluhanpg'][$key] . "','".$mkpg. "','".$shiftpg . "','".$statuspg . "')";
  21. //use for MySQLi OOP
  22. if($connect->query($sql)){
  23. $_SESSION['success'] = 'Data added successfully';
  24. }
  25. else{
  26. $_SESSION['error'] = 'Something went wrong while adding';
  27. }
  28. }
  29. }
  30. header("location: ".$base_url."index.php?page=pengajuan");
  31. ?>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题