pertanyaan dinamis

Mitim Fitri · May 28, 2011
mas koding untuk memunculkan pertanyaan dimanis pada sistem pakar gimana ya

tabel nya :
gejala : id_gejala*,gejala, pertanyaan

rule (relasi) : id_rule*, kode_rule, id_gejala**, ya, tidak, id_penyakit**

penyakit : id_penyakit*, penyakit

memiliki : id_memiliki*, id_penyakit**, id_solusi**

solusi : id_solusi*, solusi

pertanyaan keluar bersadarkan aturan yang ada pada tabel rule
tampilan yg akan keluar nantinya :

pertanyaan
combo box : ya
combo box : tidak
tombol submit

contoh isi tabel rule :
kode_rule id_gejala ya tidak id_penyakit
110 1 120 150 1
120 2 130 140 1
130 3 140 1
140 4 150 1
150 5 2

contoh isi tabel penyakit :
id_penyakit penyakit
1 penyakitA
2 bukan penyakitA

untuk pertama, keluar pertanyaan pada kode_rule 110, setelah user menjawab ya/tidak maka akan di cek pertanyaan yang akan di tampilkan selanjutnya,
* jika user menjawab ya maka field yg akan dicek d tabel rule "ya" = 120, akan muncul pertanyaan yang sesuai dg kode_rule 120
* jika tidak, field tabel rule "tidak" = 150, maka pertanyaan selanjutnya akan keluar sesuai dengan kode_rule 150.

untuk id_penyakit nanti nya akan di tampilkan jika salah satu field tabel rule "ya" atau "tidak" kosong. penyakit akan di tampilkan dg solusinya.
pertanyaan diambil dari id_gejala

contoh jalan nya rule :
1. pertanyaan kode_rule 110 --> jawaban user ya --> pertanyaan kode_rule 120 --> jawaban user ya --> pertanyaan kode_rule 130 --> jika
*jawaban user ya --> keluar hasil penyakitA
*jaaban tidak --> pertanyaan kode_rule 140 begitu seterusnya sampai menemukan field rule "ya" atau "tidak" kosong

2. pertanyaan kode_rule 110 --> user menjawab tidak --> keluar pertanyaan dg kode_rule 150 -->

*jawaban user ya --> keluar hasil penyakitA dan solusi untuk penyakit A tersebut
*jawaban user tidak --> keluar hasil bukan penyakitA dan solusi nya
Silahkan login untuk menjawab!
0
Loading...
Ellyx Christian · May 28, 2011 · 0 Suka · 0 Tidak Suka
saya belum bisa jawab sekarang, soalnya ribet, tunggu besok ya.
0
Loading...
Ellyx Christian · May 29, 2011 · 0 Suka · 0 Tidak Suka
kamu coba pake kode di bawah:
<?php
$ruleCode = isset($_GET['rule']) ? $_GET['rule'] : null;
$sql = "select * from rule ";
if($ruleId){
    $sql ." where kode_rule='$ruleCode'";
}
$rule = mysql_fetch_array(mysql_query($sql));
$gejala = array();
if($rule['id_gejala']){
	$gejala = mysql_query("select * from gejala where id_gejala='".$rule['id_gejala']."'");
	$gejala = mysql_fetch_array($gejala);
	echo $gejala['pertanyaan']; //menampilkan pertanyaan
	//membuat form
?>
	<form method="get" action="">
	Jawaban:
	<select name="rule">
		<option value="<?=$rule['ya'];?>">Ya</option>
		<option value="<?=$rule['tidak'];?>">Ya</option>
	</select>
	<input type="submit" value="Submmit"/>
	</form>
<?php
}
if($rule['id_penyakit']){
    //kamu buat sendiri kode untuk menampilkan penyakit 
    //dan solusi berdasarkan id_penyakit
}
0
Loading...
Mitim Fitri · May 29, 2011 · 0 Suka · 0 Tidak Suka
mas maaf nanya lagi,
kalau untuk jawabn nya di ganti dengan radio button

<form method="get" action="">
<table>
<tr>
<td><input type="radio" name="jawaban" value="ya" checked>Ya
<input type="radio" name="jawaban" value="tidak">Tidak</td>
</tr>
<tr><td>
<input type="submit" value="Submmit"/></td></tr></table>
</form>

untuk ngambil value dari ya / tidak nya untuk diproses lg gimana ya ?
0
Loading...
Ellyx Christian · May 29, 2011 · 0 Suka · 0 Tidak Suka
$ruleCode = isset($_GET) ? $_GET : null;
function isset ada penjelasannya di http://php.net/isset. Kode itu artinya jika variable $_GET diset (sudah diinisialisasi) maka isi $ruleCode dengan $_GET sebaliknya dengan null; Itu sama dengan :
if(isset($_GET['rule'])){
	$ruleCode = $_GET['rule'];
}else{
	$ruleCode = null;
}
Pertanyaan kedua:
<form method="get" action="">
<table>
<tr>
<td><input type="radio" name="rule" id="ya" value="<?=$rule['ya'];?>"/>Ya
<input type="radio" name="rule" id="tidak" value="<?=$rule['tidak'];?>"/>Tidak</td>
</tr>
<tr><td>
<input type="submit" value="Submmit"/></td></tr></table>
</form>
jadi pada saat form disubmit, halaman akan menjadi seperti ini:
file.php?rule=123 (hanya contoh)

sehingga kode ini: $ruleCode = isset($_GET) ? $_GET : null; akan menyebabkan $ruleCode berisi ini 123. Variable $sql akan berisi nilai seperti ini:
select * from rule where kode_rule='123'. Nilai 123 diperoleh dari atribute value radio button.
0
Loading...
Mitim Fitri · May 30, 2011 · 0 Suka · 0 Tidak Suka
makasi mas ellyx :)