Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Update foreach

master mohon bantuanya,,
mau bikin update presensi tetapi ketika diubah database tidak mau berubah apa ada yang salah dengan query sy,
ini ubtuk insertnya:

$id_mtkJdwl=$_SESSION['id_mtkJdwl'];
 $nama_matakuliah=$_POST['nama_matakuliah'];
 $tanggal=$_POST['tanggal'];
 $kode_mtk=$_POST['kode_mtk'];

  if(isset($_POST['selesai'])){
 
        if(!empty($_POST['hadir'])){
                //parameter
        foreach($_POST['hadir'] as $index => $nim){
        $hadir=mysql_query("insert into absensi
(NIM,id_mtkJdwl,keterangan,tanggal,selesai,nama_lengkap,nama_matakuliah,username,kode_mtk)   
values
('$nim','$id_mtkJdwl','h','$tanggal','yes','$nama_lengkap[$index]','$nama_matakuliah[$index]','$username[$index]','$kode_mtk[$index]')");
         }

ini untuk queri updetan dari query insert diatas

if(isset($_POST['selesai'])){
 
        if(!empty($_POST['hadir'])){
                //parameter
        foreach($_POST['hadir'] as $index => $nim){
         $updatehadir=mysql_query(" UPDATE absensi SET id_mtkJdwl=$id_mtkJdwl',
NIM='$NIM[$index]',
keterangan='$keterangan[$index]',
selesai='$selesai[$index]',
nama_matakuliah='$nama_matakuliah[$index]',
kode_mtk='$kode_mtk[$index]'
    WHERE id_mtkJdwl         = '$id_mtkJdwl'");
          }

Tanggapan

  • struktur database mu kasih liat

    ada error yang muncul juga ga?
  • id |NIM|id_mtkJdwl |nama lengkap | nama matakuliah | username |kode_mtk|keterangan
    1 | 01 | 01 | Bpk budi | bhs indo | a | a | h

    itu databasenya mz,,ini full code proses nya,,
    http://pastebin.com/m7TMNtur
    kalok di insert sudah bener updatenya ja yng ndk berjalan
  • $id_mtkJdwl' di query update kurang tanda petik...
  • $updatehadir=mysql_query(" UPDATE absensi SET id_mtkJdwl = '$id_mtkJdwl',
    'NIM='$NIM[$index]',
    'keterangan='$keterangan[$index]',
    'tanggal='$tanggal[$index]',
    'selesai='$selesai[$index]', 'nama_lengkap=$nama_lengkap[$index]', 'nama_matakuliah='$nama_matakuliah[$index]',
    'username='$username[$index]',
    'kode_mtk='$kode_mtk[$index]'
    WHERE id_mtkJdwl = '$id_mtkJdwl'");
    masih sama mz blm bisa..
  • edited October 2015
    coba tambahin mysql_error()
    ... WHERE id_mtkJdwl = '$id_mtkJdwl'") or die (mysql_query(error));
    muncul errornya cb di paste ke sini...
  • suda sy coba tak kasih WHERE id_mtkJdwl = '$id_mtkJdwl'") or die (mysql_query(error));
    ndk keluar apa apa mz,,kosong..
    terus tak coba  WHERE id_mtkJdwl         = '$id_mtkJdwl'");
               print_r ($_POST['hadir']);

    yang keluar malah kek gini:
    Array ( [0] => 2014/PF/01001 [1] => 2014/PF/01005 ) Array ( [0] => 2014/PF/01001 [1] => 2014/PF/01005 )


  • terus tak coba kek gini 
     if(!empty($_POST['hadir'])){
                    //parameter
            foreach($_POST['hadir'] as $index => $nim){
            $updatehadir=mysql_query(" UPDATE absensi SET id_mtkJdwl = '$id_mtkJdwl',
    'NIM='$NIM[$index]',
    'keterangan='$keterangan[$index]',
    'tanggal='$tanggal[$index]',
    'selesai='$selesai[$index]',
    'nama_lengkap=$nama_lengkap[$index]',
    'nama_matakuliah='$nama_matakuliah[$index]',
    'username='$username[$index]',
    'kode_mtk='$kode_mtk[$index]'
    WHERE id_mtkJdwl         = '$id_mtkJdwl'");
               print_r ($_POST['hadir']);
               var_dump ($nim);   
             }
    yang muncul..
    Array ( [0] => 2014/PF/01001 [1] => 2014/PF/01005 ) string(13) "2014/PF/01001" Array ( [0] => 2014/PF/01001 [1] => 2014/PF/01005 ) string(13) "2014/PF/01005"..

    bantuanya mas,,mksh
  • hem... nama field yang di update ndak perlu di isi tanda petik, contoh:
    SET id_mtkJdwl = '$id_mtkJdwl',
    NIM='$NIM[$index]',
    keterangan='$keterangan[$index]',
    tanggal='$tanggal[$index]',
    lanjutin sendiri updatenya...
  • masih sama mas blm bisa,,   8-|
  • aktifin itu error display di php mu, dari tadi tak tanya error hasil nya apaan di php nya
    biar gampang ngetrace errornya. dari pada cuma asumsi trs
  • You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Bahasa Inggris', username='', kode_mtk='MKDU102' ' at line 6

    kek gitu hasilnya mas,,
  • di looping foreach itu ada beberapa variable yang di trace gak tau dari mana asalnya

    kaya : 

    $NIM[$index] => $NIM dari mana?
    $keterangan[index] => $keterangan dari mana?
    $selesai[$index] => $selesai dari mana?
    $nama_lengkap[$index] => $nama_lengkap dari mana?
    $username[index] => $username dari mana?


    coba kamu echo keseluruhannya di looping updatepresmhs mu itu

    foreach($_POST['hadir'] as $index => $nim){

    $sql = "UPDATE absensi SET id_mtkJdwl = '$id_mtkJdwl', NIM='$NIM[$index]', keterangan='$keterangan[index]', tanggal='$tanggal[$index]', selesai='$selesai[$index]',
     nama_lengkap=$nama_lengkap[$index]', nama_matakuliah='$nama_matakuliah[index]', username='$username[index]', kode_mtk='$kode_mtk[index]'
     WHERE id_mtkJdwl = '$id_mtkJdwl'";
    echo $sql;
    echo '<br/>';

    }

    hasilnya sesuai gak?
Sign In or Register to comment.