mau donk tutorial kaya dremi.info yang ara rating star itu lho :twisted:
sbnarna gue pake cara sederhana , karena pemrog gue masih cupu
tapi gpp yak gue bikin na kaya gini:
RATE STAR <?PHP ?> SCRIPT:Pertama bikin dolo contoh halaman fungsi buatan na, misal:
ratestar.phpdidalam na ketik Script na:
//rateStar, php script builder by dremi.info
<?
function rateStar($int, $maxRate)
{
if(empty($maxRate))
{
$maxi=10;
}
else
{
$maxi=$maxRate;
}
//begin rate star na
for ($i=0; $i < $int; $i++) {
$img .= "<img alt="*" src="images/icons/rate-icon.gif" />";
}
for ($i=$int; $i < $maxi; $i++) {
$img .= "<img alt="" src="images/icons/rate-blank-icon.gif" />";
}
echo "Rate Star: $img";
}
?>
var $int merupakan bilangan inputan untuk dapat dijadikan sebagai data rating na, dimulai dari angka 0-9 (integer)
var $maxRate gue jadiin sebagai indikator dowank, maksud na gini, kalo dikosongkan maka var $maxRate bernilai 10, untuk maksimal gambar / data bintang rate na.
pada baris fungsi diatas terletak di baris ini:
if(empty($maxRate))
{
$maxi=10;
}
else
{
$maxi=$maxRate;
}
nah baru setelah kedua var $int dan $maxRate valid, maka akan dimulai dengan proses mencetak gambar bintang, yang sebelumna dah disiapkan di folder images gue, atow tersrah lu mao di load dari mana aja, asal bisa dipanggil oleh script na:
//begin rate star na
for ($i=0; $i < $int; $i++) {
$img .= "<img alt="*" src="images/icons/rate-icon.gif" />";
}
for ($i=$int; $i < $maxi; $i++) {
$img .= "<img alt="" src="images/icons/rate-blank-icon.gif" />";
}
fungsi
for merupakan fungsi bawaan dalam PHP, gunakan untuk me-repeat / mengulang perintah.
Gue mulai pengulangan na dari var $i=0, sampai dengan jumlah pada var $int. sedangakn $i < $int merupakan penjabaran dari jarak perhitungan 0 s/d $int
for ($i=0; $i < $int; $i++)
baru deh kalo dah fix semua, gue cetak hasil keluaran data gambar bintang2 na menggunakan perintah
echo:
echo "Rate Star: $img";
Hmmm...trus lu nanti tinggal panggil di halaman preview rate star na dengan mengetik code fungsi na diatas tadi:
<? rateStar("$barisDataRating", ""); ?>
Di halaman preview star ini, skaligus menjadi halaman polling rate na, jadi kita butuh form rate star juga:, misalkan nama halaman na:
reviewstar.phpjadi code na kaya gini
//asumsikan kita punya table data sebagai inputan data rate na var $int:
//halaman ini diakses via URL, dengan var cID sebagai pointer data :
//misal URL na: http://localhost/reviewstar.php?cID=2
$c=mysql_connect("localhost","","");
$db=mysql_select_db("test_dbase", $c);
$row=mysql_fetch_array(mysql_query("SELECT * FROM tblRate WHERE id=".$_GET['cID'].""));
<? echo $_GET['cMSG2']; ?> //menampilkan pesan cMSG2 nantinya
<? include "ratestar.php"; ?> //panggil halaman fungsi rating
<? rateStar("$row[rate]", ""); ?> // baru fungsi na di load disini
<div id="targetRate">
<form id="form1" name="formRatingSyafira" method="post" action="rateaction.php">
<input type="hidden" name="cID" value="<? echo $_GET['cID']; ?>"/>
<input name="submit" type="submit" class="input" value="Rate this Data" />
</form>
</div>
woke untuk file
rateaction.php, gue pake fungsi
setcookie(), yang merupakan fungsi bawaan dari PHP sono, gunanya bwat men-set seberapa lama jarak kita bisa melakukan rate pertama dengan seterusna, jadi g asal klik rate terus gitu....na kaya gini code na:
<?
## COOKIE cID Rate Data na
$c=mysql_connect("localhost","","");
$db=mysql_select_db("test_dbase", $c);
$row=mysql_fetch_array(mysql_query("SELECT * FROM tblRate WHERE id=".$_GET['cID'].""));
## jika rate data kosong
if(empty($_POST['cID'])) {
header("location:../reviewstar.php?cID=".$_POST['cID']."&cMSG2=???#targetRate");
} else {
## jika memilih salah satu radio button rate
$value = $_POST['cID'];
if(isset($_COOKIE['RateCookie'])) {
header("location:../reviewstar.php?cID=$value&cMSG2=Anda Telah Melakukan Rate Tutorial sebelumnya.#targetRate");
} else {
setcookie("RateCookie", $value, time()+3600);
//update data rating
mysql_query("UPDATE tblRate SET rate=rate+1 WHERE id = '".$_POST['cID']."'");
header("location:../reviewstar.php?cID=$value#targetRate");
}
}
## END OF RATE STAR, credit dremi.info
?>
isset($_COOKIE['RateCookie']) merupkan pengecekan kalo misalkan cookie rate data telah diset / belum. kalo belum melakukan rate star, maka cookie "RateCookie" akan di set selama 3600 detik / 1 jam:
setcookie("RateCookie", $value, time()+3600);
sedangkan perintah fungsi header("location:") merupakan fungsi untuk melempar ke halaman yang dimaksud, jika aksi selesai dijalankan.
Pling segitu ja brow..sayang na konek si inet gue saat ini terputus, jadi gue pending dolo nginput na .. :idea:
