tanya coding

Forum diskusi pemrograman web PHP

Moderators: irzan2010, trail

tanya coding

Postby iamanelf » 03 Feb 2012, 11:01

tanya donk..saya punnya coding seperti ini, terus saat data daya tampung diubah, kenapa keterangan lulus/lulus cadangannya tidak sesuai dengan jumlah daya tampung yang telah berubah???
apa yang salah dan harus diperbaiki??
mohon bantuannya..
Code: Select all
$no=1;
        $date = date("y-m-d");

         $q = "SELECT no_ujian FROM tb_sementara WHERE nilai_total > 0.7";
      $r = mysqli_query($koneksi,$q);
      while($d = mysqli_fetch_array($r)) {

         $kdjur = ltrim(substr($d['no_ujian'],4,2),"0");
           $q2 = mysqli_query($koneksi,"SELECT * FROM tb_jurusan WHERE kd_jurusan='$kdjur'");
           while($d2 = mysqli_fetch_array($q2)) {

              $kdjalur = ltrim(substr($d['no_ujian'],6,2),"0");
              if ($d2['jurusan'] == "Kedokteran_Umum" and $kdjalur==1) {

                   $q4 = mysqli_query($koneksi, "SELECT dy_umum FROM tb_dayatampung WHERE program_studi='Kedokteran_Umum' ");
                 while($d4=mysqli_fetch_array($q4)){
                        //$no=1;
                    if ($no<=$d4['dy_umum']) {
                        $jur =  str_replace('_',' ',$d2['jurusan']);
                             $lulus="Lulus";
                    }else if ($no>$d4['dy_umum']){
                            $jur =  str_replace('_',' ',$d2['jurusan']);
                            $lulus="Lulus Cadangan";
                    }
                       //$no++;
                     }

              } else if ($d2['jurusan'] == "Kedokteran_Umum" and $kdjalur==2) {

                 $q5 = mysqli_query($koneksi, "SELECT dy_khusus FROM tb_dayatampung WHERE program_studi='Kedokteran_Umum'");
                 while($d5=mysqli_fetch_array($q5)){
                       //$n=1;
                    if ($no<=$d5['dy_khusus']) {
                       $jur =  str_replace('_',' ',$d2['jurusan']);
                       $lulus="Lulus";
                    }else{
                       $jur =  str_replace('_',' ',$d2['jurusan']);
                       $lulus="Lulus Cadangan";
                    }
                       //$n++;
                  }

              }else{
                 $q3 = mysqli_query($koneksi, "SELECT dytampung_total FROM tb_dayatampung WHERE program_studi != 'Kedokteran_Umum' AND program_studi='".$d2['jurusan']."'");
                 while($d3=mysqli_fetch_array($q3)){
                        //$nom=1;
                    if ($no<=$d3['dytampung_total'] ) {
                       $jur =  str_replace('_',' ',$d2['jurusan']);
                       $lulus="Lulus";
                    }else{
                        $jur =  str_replace('_',' ',$d2['jurusan']);
                       $lulus="Lulus Cadangan";
                    }
                        //$nom++;
                     }
              }
               echo"<tr>
                  <td align='center'>".$no++."</td>
                  <td align='center'>".$d['no_ujian']."</td>
                  <td align='center'>".$jur."</td>
                  <td align='center'>" ;
                  if ($kdjalur=="1") {
                        echo "Umum";
                   }else {
                          echo "Khusus";
                    }
                  echo"</td>";
                  echo "<td align='center'>".$lulus."</td></tr>";


                 //masukan data ketabel hasil
               $sql1 = "SELECT no_ujian FROM tb_hasil WHERE no_ujian='".$d["no_ujian"]."'";       //echo $sql1;
                 $queryq = mysqli_query($koneksi,$sql1);
                 $num1 = mysqli_num_rows($queryq);

               if ($num1 == 0) {
                    $sql1 = "INSERT INTO tb_hasil(no_ujian) VALUE ('".$d["no_ujian"]."')";
                    mysqli_query($koneksi,$sql1);
                 }

                   $sql3 = "UPDATE tb_hasil SET
                           no_ujian='".$d["no_ujian"]."',
                           tgl_keputusan='$date',
                           jurusan='$jur',
                           kdjenis_pmdk='$kdjalur',
                           keterangan='$lulus'
                        WHERE no_ujian='".$d["no_ujian"]."'";
                  $qry3 = mysqli_query($koneksi,$sql3);


              }
      }
iamanelf
Prajurit Dua
Prajurit Dua
 
Posts: 14
Joined: 12 Aug 2011, 13:15
Memberi kopi: 1 cangkir
Mendapat kopi: 0 cangkir

Re: tanya coding

Postby vberror13 » 03 Feb 2012, 12:53

Emang hubungan "daya tampung" dengan "keterangan lulus/lulus cadangannya" apa ?
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1847
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: tanya coding

Postby iamanelf » 05 Feb 2012, 18:39

hubungan daya tampung dan keterangan lulus/lulus cadangannya yaitu jika jumlah yang lulus melebihi daya tampung maka termasuk lulus cadangan, jika kurang dari atau sama dengan jumlah daya tampungnya maka keterangannya lulus. begitu,,,
iamanelf
Prajurit Dua
Prajurit Dua
 
Posts: 14
Joined: 12 Aug 2011, 13:15
Memberi kopi: 1 cangkir
Mendapat kopi: 0 cangkir

Re: tanya coding

Postby vberror13 » 06 Feb 2012, 02:17

Saya lihat yang jadi acuan hitungan lulus/lulus cadangan adalah variabel $no; Padahal perbandingan daya tampung dikategorikan atas "jurusan kedokteran jalur umum", "kedokteran jalur khusus" dan "selain kedokteran". karena itu harusnya untuk setiap kategori perbandingan dibuatkan counter/tally tersendiri.
jadi kira-kira begini:

Code: Select all
<?php
$no=0;//no urut di table
$tally_kedokteranumum_jalur1 =1;
$tally_kedokteranumum_jalur2 =1;
$tally_jurusanLainnya = 1;
//ambil jumlah daya tampung kedoketeran umum jalur umum dan khusus,
//asumsi: field program_studi unik.
$result = mysqli_query($koneksi,
         "SELECT dy_umum, dy_khusus FROM tb_dayatampung ".
         "WHERE program_studi='Kedokteran_Umum' ");
$row = mysqli_fetch_array($result);
$dy_umum_kedokteranumum = $row[0];
$dy_khusus_kedokteranumum = $row[1];


//ambil nomor ujian yang nilai totalnya >0.7 (lulus) urutkan menurut nilai total.
$q = "SELECT no_ujian FROM tb_sementara WHERE nilai_total > 0.7 ORDER BY nilai_total";
$r = mysqli_query($koneksi,$q);
while($d = mysqli_fetch_array($r)) {
   $no_ujian = $d['no_ujian'];
   $nama_jurusan="";
   $keterangan_lulus = "";
   $kdjur = ltrim(substr($no_ujian,4,2),"0");
   $kdjalur = ltrim(substr($no_ujian,6,2),"0");
   
   //ambil nama jurusan dari tabel tb_jurusan.
   // asumsi: field kdjur adalah primary key/unik;
   $result = mysqli_query($koneksi,
            "SELECT * FROM tb_jurusan WHERE kd_jurusan='$kdjur'");
   $row = mysqli_fetch_array($result);
   $nama_jurusan = $row["jurusan"];
   
   if ($nama_jurusan == "Kedokteran_Umum" and $kdjalur==1) {
      if ($tally_kedokteranumum_jalur1<=$dy_umum_kedokteranumum)
      {
         $keterangan_lulus = "LULUS";
      } else
      {
         $keterangan_lulus = "LULUS CADANGAN";
      }
      $tally_kedokteranumum_jalur1++;
      
   } else if ($nama_jurusan == "Kedokteran_Umum" and $kdjalur==2) {
      if ($tally_kedokteranumum_jalur2<=$dy_khusus_kedokteranumum)
      {
         $keterangan_lulus = "LULUS";
      } else
      {
         $keterangan_lulus = "LULUS CADANGAN";
      }
      $tally_kedokteranumum_jalur2++;
   
   } else {
      
      //asumsi: field program_studi adalah unik:
      $result = mysqli_query($koneksi,
               "SELECT dytampung_total FROM tb_dayatampung ".
               "WHERE program_studi='".$nama_jurusan."'");
      $row = mysqli_fetch_array($result);
      $dytampung_total = $row[0];
      if ($tally_jurusanLainnya<=$dytampung_total)
      {
         $keterangan_lulus = "LULUS";
      } else
      {
         $keterangan_lulus = "LULUS CADANGAN";
      }
      $tally_jurusanLainnya++;
   
   }
   
   //print table row:
   $no++;
   $kode_jalur = $kdjalur == "1"?"Umum":"Khusus";
?>   
   
   <tr>
      <td><?php echo $no;?><td>
      <td><?php echo $no_ujian;?><td>
      <td><?php echo str_replace('_',' ',$nama_jurusan);?><td>
      <td style="text-align:center"><?php echo $$keterangan_lulus;?><td>
   </tr>
<?php

//masukan data ke tabel hasil
//...
//....



}
?>


disclaimer: kode di atas harap dianggap pseudo-code; :D
:ymbilly: :ymbilly: :ymbilly: =:) :ymbilly:
Just Because You Are Unique, Doesn't Mean You Are Useful

Post vberror13 telah mendapat kopi dari:
iamanelf
User avatar
vberror13
Global Moderator
Global Moderator
 
Posts: 1847
Joined: 13 Mar 2010, 20:34
Location: Medan Indonesia
Memberi kopi: 296 cangkir
Mendapat kopi: 321 cangkir

Re: tanya coding

Postby iamanelf » 06 Feb 2012, 12:39

wah... =D>
berhasil... :-bd
thanx bgt bantuannya...
iamanelf
Prajurit Dua
Prajurit Dua
 
Posts: 14
Joined: 12 Aug 2011, 13:15
Memberi kopi: 1 cangkir
Mendapat kopi: 0 cangkir

Re: tanya coding

Postby iamanelf » Today, 14:17

oya...apa yang berubah dari koding diatas jika ditambakan lagi dua kondisi yaitu:
1. data yang lulus harus disesuaikan dengan jumlah kuota dari masing-masing sekolah
2. data lulus cadangan dibatasi sebanyak 25% dari daya tampung yang ada
help bantuannya sekali lagi..
iamanelf
Prajurit Dua
Prajurit Dua
 
Posts: 14
Joined: 12 Aug 2011, 13:15
Memberi kopi: 1 cangkir
Mendapat kopi: 0 cangkir


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests