Ini adalah keharusan sebelum memulai scripting. Bila kita tidak punya ide, maka… kita akan bingung sendiri. Gimana mau bisa buat script, kalo bingung gimana mau memulai scriptnya. So… guys… ‘ide’ adalah hal yang utama.
Lantas.. idenya bagaimana nih? OK… ide ini bisa diperoleh berdasarkan output yang kita inginkan. Output yang kita harapkan adalah menampilkan Nomor Induk Siswa (NIS) yang belum bayar SPP pada bulan dan tahun tertentu, namanya siapa, tanggal terakhir dia bayar SPP berapa, dan dia bayarkan SPP terakhir tersebut untuk bulan dan tahun berapa. OK.. itu outputnya.
Sekarang… idenya bagaimana untuk mendapatkan output di atas? OK… untuk mendapatkan NIS dan nama siswa yang belum membayar pada bulan dan tahun tertentu, . Trus.. untuk mendapatkan tanggal terakhir SPP dibayarkan dan informasi lainnya, gimana caranya? Ya… thats the point. Mmm.. enaknya kita buat script PHP nya dulu untuk menampilkan NIS dan Nama Siswa yang belum bayar dulu yah.. informasi yang lainnya nyusul,
OK.. ini dia script PHP untuk menampilkan NIS dan Nama Siswanya. Oya.. dalam contoh script ini akan ditampilkan NIS dan Nama Siswa yang belum bayar SPP pada bulan Pebruari 2008.
01.
<?php
02.
03.
mysql_connect(
"dbhost"
,
"dbuser"
,
"dbpass"
);
04.
mysql_select_db(
"dbname"
);
05.
06.
$query
=
"SELECT nis, namasiswa FROM siswa WHERE nis NOT IN (SELECT nis FROM bayarspp WHERE byrbln = 2 AND byrthn = '2008')"
;
07.
$hasil
= mysql_query(
$query
);
08.
while
(
$data
= mysql_fetch_array(
$hasil
))
09.
{
10.
$nis
=
$data
[
'nis'
];
11.
$namasiswa
=
$data
[
'namasiswa'
];
12.
13.
echo
$nis
.
" "
.
$namasiswa
.
"<br />"
;
14.
}
15.
16.
?>
Next… bagaimana dengan informasi yang lainnya, seperti tanggal terakhir si siswa bayar SPP dan untuk bulan dan tahun berapa ia bayarkan. Nah.. untuk mencari informasi tersebut, kita gunakan query lagi memanfaatkan NIS yang kita telah peroleh dari query sebelumnya.
Query SQL untuk mencari tanggal terakhir seorang mahasiswa berNIS ‘X’ membayar SPP dan untuk bulan dan tanggal berapa ia bayarkan adalah dengan perintah sbb:
1.
SELECT
tglbyr, byrbln, byrthn
FROM
bayarspp
WHERE
nis =
'X'
ORDER
BY
tglbyr
DESC
LIMIT 0, 1;
Oya… ide query SQL di atas adalah, kita sort semua data pembayaran yang telah dilakukan siswa berNIS ‘X’ berdasarkan tanggal bayar secara DESC. Untuk mendapatkan data pembayaran yang terakhir saja, maka kita gunakan LIMIT 0, 1. Selesai…
Next… kita gabungkan query di atas dengan script PHP sebelumnya. Bagaimana menggabungkannya? dan dimana letaknya dalam script? Ya.. letaknya di dalam WHILE(). Karena dalam WHILE lah kita menampilkan data NIS dan Nama Siswa yang belum bayar SPP secara satu persatu.
01.
<?php
02.
03.
mysql_connect(
"dbhost"
,
"dbuser"
,
"dbpass"
);
04.
mysql_select_db(
"dbname"
);
05.
06.
$query
=
"SELECT nis, namasiswa FROM siswa WHERE nis NOT IN (SELECT nis FROM bayarspp WHERE byrbln = 2 AND byrthn = '2008')"
;
07.
$hasil
= mysql_query(
$query
);
08.
while
(
$data
= mysql_fetch_array(
$hasil
))
09.
{
10.
$nis
=
$data
[
'nis'
];
11.
$namasiswa
=
$data
[
'namasiswa'
];
12.
13.
$query2
=
"SELECT tglbyr, byrbln, byrthn FROM bayarspp WHERE nis = '$nis' ORDER BY tglbyr DESC LIMIT 0, 1"
;
14.
$hasil2
= mysql_query(
$query2
);
15.
$data2
= mysql_fetch_array(
$hasil2
);
16.
17.
echo
$nis
.
" "
.
$namasiswa
.
" "
.
$data2
[
'tglbyr'
].
" "
.
$data2
[
'byrbln'
].
" "
.
$data2
[
'byrthn'
].
"<br />"
;
18.
}
19.
20.
?>
01.
<?php
02.
03.
mysql_connect(
"dbhost"
,
"dbuser"
,
"dbpass"
);
04.
mysql_select_db(
"dbname"
);
05.
06.
$query
=
"SELECT nis, namasiswa FROM siswa WHERE nis NOT IN (SELECT nis FROM bayarspp WHERE byrbln = 2 AND byrthn = '2008')"
;
07.
$hasil
= mysql_query(
$query
);
08.
09.
echo
"<h3>Daftar siswa yang belum bayar SPP bulan Pebruari Th 2008</h3>"
;
10.
11.
echo
"<table border='1'>"
;
12.
echo
"<tr><td>NIS</td><td>Nama
Siswa</td><td>Tanggal Bayar SPP
Terakhir</td><td>Untuk Pembayaran
Bulan</td><td>SPP Tahun</td></tr>"
;
13.
14.
while
(
$data
= mysql_fetch_array(
$hasil
))
15.
{
16.
$nis
=
$data
[
'nis'
];
17.
$namasiswa
=
$data
[
'namasiswa'
];
18.
19.
$query2
=
"SELECT tglbyr, byrbln, byrthn FROM bayarspp WHERE nis = '$nis' ORDER BY tglbyr DESC LIMIT 0, 1"
;
20.
$hasil2
= mysql_query(
$query2
);
21.
$data2
= mysql_fetch_array(
$hasil2
);
22.
23.
echo
"<tr><td>"
.
$nis
.
"</td><td>"
.
$namasiswa
.
"</td><td>"
.
$data2
[
'tglbyr'
].
"</td><td>"
.
$data2
[
'byrbln'
].
"</td><td>"
.
$data2
[
'byrthn'
].
"</td></tr>"
;
24.
25.
}
26.
echo
"</table>"
;
27.
28.
?>
01.
INSERT
INTO
`bayarspp`
VALUES
(
'10001'
,
'2008-01-10'
, 1,
'2008'
);
02.
INSERT
INTO
`bayarspp`
VALUES
(
'10002'
,
'2008-01-12'
, 1,
'2008'
);
03.
INSERT
INTO
`bayarspp`
VALUES
(
'10003'
,
'2008-01-10'
, 1,
'2008'
);
04.
INSERT
INTO
`bayarspp`
VALUES
(
'10001'
,
'2008-02-09'
, 2,
'2008'
);
05.
INSERT
INTO
`bayarspp`
VALUES
(
'10003'
,
'2008-02-13'
, 2,
'2008'
);
06.
INSERT
INTO
`bayarspp`
VALUES
(
'10004'
,
'2008-01-11'
, 1,
'2008'
);
07.
INSERT
INTO
`bayarspp`
VALUES
(
'10004'
,
'2007-12-20'
, 12,
'2007'
);
08.
INSERT
INTO
`bayarspp`
VALUES
(
'10005'
,
'2007-12-20'
, 12,
'2007'
);
09.
INSERT
INTO
`bayarspp`
VALUES
(
'10005'
,
'2008-01-10'
, 1,
'2008'
);
10.
INSERT
INTO
`bayarspp`
VALUES
(
'10005'
,
'2007-11-20'
, 11,
'2007'
);
Oya… pesan saya terakhir, sebelum Anda memulai scripting, coba cari idenya dulu karena itu adalah ‘keharusan’.
Tidak ada komentar :
Posting Komentar