10/10/2018, 11:04
Sử lý trường hợp này thế nào hả các bác
Em mới học PHP và đang gặp 1 vấn đề mong các bác chỉ giáo :
em muốnXây dựng hệ thống bình chọn nhiều câu hỏi bằng PHP và MYSQL ( ở đây em test là 2 ) :
trong mysql em có 2 bảng là :
answer với các trường là :
question với các trường là :
2 bảng này tương tác với nhau thông qua trường qid . Có nghĩa là với câu hỏi có trường qid tại bảng question bằng 1 chẳng hạn thì sẽ có lần lượt các câu trả lời tương ứng tại bảng answer với qid ( ở bảng answer ) tương ứng là 1 với các giá trị của câu trả aid tăng dần theo số lượng câu trả lời
ví dụ :
tại bảng Question có câu hỏi 1 :
web đẹp ko vs qid = 1
thì ở bảng Answer có câu trả lời :
đẹp với qid = 1 , aid =1
xấu với qid = 1, aid = 2
tại bảng Question có câu hỏi 2 :
chức năng tốt chứ vs qid = 2
thì ở bảng answer có câu trả lời :
tốt với qid = 2 , aid = 3
ko với qid = 2 , aid = 4
..........
khi đó em dùng lệnh SQL select và hàm while( để lấy ra câu hỏi và câu trả lời tương ứng ) và có 1 form như sau :
vấn đề em gặp phải ở đây là tại sao khi em lấy $_POST['$ab']; ở type radio thì giá trị trả về lại là rỗng
giờ có cách nào để em select được cái giá trị ở
để dùng hàm update trong sql thay đổi giá trị cho trường traloi ( nghĩa là em chọn câu trả lời nào thì vs aid tương ứng trường traloi sẽ tự động tăng lên 1 vs 1 lần chọn )
Code em viết như dưới đây ... chả biết đúng sai thế nào, các bác xem và chỉ cho em với ... em cám ơn các bác nhiều , em ko ngại nghe mắng đâu ạ
em muốnXây dựng hệ thống bình chọn nhiều câu hỏi bằng PHP và MYSQL ( ở đây em test là 2 ) :
trong mysql em có 2 bảng là :
answer với các trường là :
aid - qid - atitle - traloi
qid - qtitle
ví dụ :
tại bảng Question có câu hỏi 1 :
web đẹp ko vs qid = 1
thì ở bảng Answer có câu trả lời :
đẹp với qid = 1 , aid =1
xấu với qid = 1, aid = 2
tại bảng Question có câu hỏi 2 :
chức năng tốt chứ vs qid = 2
thì ở bảng answer có câu trả lời :
tốt với qid = 2 , aid = 3
ko với qid = 2 , aid = 4
..........
khi đó em dùng lệnh SQL select và hàm while( để lấy ra câu hỏi và câu trả lời tương ứng ) và có 1 form như sau :
PHP Code:
$conn=mysql_connect('localhost','root',');
mysql_select_db('mininews',$conn);
$dbq="select * from question";
$queryq=mysql_query($dbq);
echo "<form action='poll2.php' method='post'>";
while($rowq=mysql_fetch_array($queryq)){
$qid=$rowq***91;'qid'***93;;
$qtitle=$rowq***91;'qtitle'***93;;
echo "Câu hỏi ".$qid." : ".$qtitle."<br>";
// đoạn này xuất ra câu trả lời
$dba="select * from a where qid='$qid'";
$querya=mysql_query($dba);
while($rowa=mysql_fetch_array($querya)){
$aid=$rowa***91;'aid'***93;;
$atitle=$rowa***91;'atitle'***93;;
$ab=$rowa***91;'qid'***93;;
echo "<input type='radio' name='$ab' value='ykien_$aid'>".$aid.".".$atitle."<br>";
giờ có cách nào để em select được cái giá trị ở
PHP Code:
<input type='radio' name='$ab' value='ykien_$aid'>
Code em viết như dưới đây ... chả biết đúng sai thế nào, các bác xem và chỉ cho em với ... em cám ơn các bác nhiều , em ko ngại nghe mắng đâu ạ
PHP Code:
<?php
$conn=mysql_connect('localhost','root',');
mysql_select_db('mininews',$conn);
$dbq="select * from question";
$queryq=mysql_query($dbq);
echo "<form action='poll2.php' method='post'>";
while($rowq=mysql_fetch_array($queryq)){
$qid=$rowq***91;'qid'***93;;
$qtitle=$rowq***91;'qtitle'***93;;
echo "Câu hỏi ".$qid." : ".$qtitle."<br>";
// đoạn này xuất ra câu trả lời
$dba="select * from a where qid='$qid'";
$querya=mysql_query($dba);
while($rowa=mysql_fetch_array($querya)){
$aid=$rowa***91;'aid'***93;;
$atitle=$rowa***91;'atitle'***93;;
$ab=$rowa***91;'qid'***93;;
echo "<input type='radio' name='$ab' value='ykien_$aid'>".$aid.".".$atitle."<br>";
$ghi=$_POST***91;'$ab'***93;;
if(isset($_POST***91;'submit'***93;) && $ghi != ""){
$sl="select * from a where qid='$ghi'";
$querysl=mysql_query($sl);
$rowabc=mysql_fetch_array($querysl);
$tang=$rowabc***91;'traloi'***93;;
$qqq=$rowabc***91;'qid'***93;;
$tang++;
$chay="update a set traloi='$tang' where qid='$qqq'";
$querych=mysql_query($chay);
echo "bạn đã chọn thành công";
}
}
}
echo "<input type='submit' name='submit' value='chấm điểm'/>";
echo "</form>";
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Bài liên quan
vậy giờ em làm thế nào để cái POST đó lấy được giá trị ạ
giá trị em muốn ở đây là trường qid để em sử dụng lệnh select ở bên dưới
mong bác bỏ chút time chỉ giúp em với ạ :P
[=========> Bổ sung bài viết <=========]
Có cách nào để cái name trong form sẽ lần lượt là name = 1 và name = 2 không ạ ( trường qid đó ạ )
echo "<input type='radio' name='$ab' value='ykien_$aid'>".$aid.".".$atitle."<br>";
$fields = array('email', 'password', 'password_confirm', 'username', 'name', '***', 'date', 'month', 'year', 'land_line', 'mobile', 'address', 'city', 'region'); // tên của tất cả các input có thể có.
foreach($fields as $field)
{
${$field} = mysql_real_escape_string(trim($_POST[$field]));
}
với cả , em đang muốn hiểu được tại sao em lại không thể lấy được giá trị từ form .... mong bác đừng thấy em ngu mà nản ,giúp em tý nữa ạ