[PHP]
โค้ด php ตัวนับเวลามีคนเข้าชมกระทู้ครับ ดูจากกระทู้ เก่า ๆ แล้วยังทำไม่ได้ครับ
เอาcode ของคุณมาดูครับ เอา DB มาดูด่้วยก็ดีนะครับ
Date :
2011-08-03 10:29:09
By :
grandraftz
ยังไม่ได้เลยครับ ช่วยด้วยครับ ขดโค้ดแบบที่ใช้งานได้เลยอะครับ ขอดูเป็นตัวอย่างหน่อยครับ
Date :
2011-08-03 19:10:25
By :
addy_it
โค้ด มันพื้นฐานมากเลยนะเนี้ย
คงต้องศึกษา php ให้เข้าใจก่อน
เพราะ โค้ด สำเร็จรูป มันก็ต้องเอาไปแก้อยู่ดี
Date :
2011-08-03 19:25:17
By :
ckcr
ตามพี่วินเลยครับ
ในตาราง tb_question เพิ่ม ฟิวด์ชื่อ view
--------------------------------------------------------------------------------------------------------------------------------------
ไฟล์ question.php
<?php
$sql="SELECT * FROM tb_question";
$result = mysql_query($sql);
while($data = mysql_fetch_array($result)){
?>
ตรงชื่อกระทู้สร้างลิงค์แบบนี้นะครับ
<?php echo "<a href=detail_question.php?question_id=$data[question_id]>$data[question_title]</a>";?>
--------------------------------------------------------------------------------------------------------------------------------------
ในไฟล์รายละเอีดดของกระทู้เช่น detail_question.php
ใส่ code นี้เข้าไป
$sql = "UPDATE tb_question SET view = view + 1 WHERE question_id = $_GET[question_id]";
$result = mysql_query($sql);
---------------------------------------------------------------------------------------------------------------------------------------
ประวัติการแก้ไข 2011-08-03 19:30:38 2011-08-03 19:31:31 2011-08-03 19:39:43
Date :
2011-08-03 19:28:32
By :
systemanalysis
เอาโค้ดมาให้ดูครับ ช่วยหน่อยครับ ผมควรวางโค้ดที่ไหนดีครับ
หน้าแสดงกระทู้(หน้าหลักครับ) <?php require_once('Connections/conboard.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Recordset1 = 20;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
mysql_select_db($database_conboard, $conboard);
$query_Recordset1 = "SELECT tb_quiz.*,count(tb_ans.id_q) AS count FROM tb_quiz LEFT JOIN tb_ans ON tb_ans.id_q=tb_quiz.id_q GROUP BY tb_quiz.id_q ORDER BY tb_quiz.id_q DESC";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $conboard) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset1") == false &&
stristr($param, "totalRows_Recordset1") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
window.onload = function () {
var a=document.getElementById('mytable'); // อ้างอิงตารางด้วยตัวแปร a
for(i=0;i<a.rows.length;i++){ // วน Loop นับจำนวนแถวในตาราง
if(i>0){ // ตรวจสอบถ้าไม่ใช่แถวหัวข้อ
if(i%2==0){ // ตรวจสอบถ้าไม่ใช่แถวรายละเอียด
a.rows[i].className="tr_odd"; // กำหนด class แถวแรก
}else{
a.rows[i].className="tr_even"; // กำหนด class แถวที่สอง
}
}else{ // ถ้าเป็นแถวหัวข้อกำหนด class
a.rows[i].className="tr_head";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
<style type="text/css">
<!--
-->
.tr_head{
background-color:#FF00CC;
color:#FFCC00;
}
/* class สำหรับแถวแรกของรายละเอียด */
.tr_odd{
background-color:#F0FFF0;
font-size:12px;
}
/* class สำหรับแถวสองของรายละเอียด */
.tr_even{
background-color:#F5FFFA;
font-size:12px;
}
.style6 {font-family: Tahoma; font-size: 16px; font-weight: bold; }
.style7 {
font-family: Tahoma;
font-size: 14px;
}
body {
background-image: url(images/bg_t02.jpg);
/*background-repeat:no-repeat;*/
/* background-position: center center;
background-attachment:fixed}*/
}
.style8 {
color: #0000FF;
font-weight: bold;
}
.style9 {
font-family: Tahoma;
font-size: 12px;
color: #999999;
}
a:link {
color: #0000FF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #009900;
}
a:hover {
text-decoration: none;
color: #00CCFF;
}
a:active {
text-decoration: none;
color: #FF9900;
}
.style10 {font-family: Tahoma; font-size: 16px; font-weight: bold; color: #0000FF; }
.style11 {font-size: 14px}
.style12 {color: #FFFFFF}
.style13 {color: #FF6600}
.style14 {color: #999999}
.style15 {font-family: Tahoma; font-size: 12px; }
</style>
</head>
<body>
<div align="center"><span class="style8">บริการให้คำปรึกษา
</span><br />
</div>
<table width="887" border="0" align="center" cellpadding="5" cellspacing="0" id="mytable">
<tr>
<td height="27" colspan="3"><div align="center" class="style10">
<div align="left" class="style11"><span class="style12">Webboard คลีนิกวัยรุ่น โรงพยาบาลนาโพธิ์ กรุณาใช้ถ่อยคำที่สุภาพด้วยนะคะ </span> [<a href="insert_quiz.php">ตั้งกระทู้ใหม</a>่][<a href="login.php" target="mainFrame">เข้าสู่ระบบ</a>]</div>
</div> <div align="center" class="style6"></div> <div align="center" class="style6"></div></td>
</tr>
<?php do { ?><tr>
<td width="91"><div align="center" class="style9"><span class="style13">#</span> <?php echo $row_Recordset1['id_q']; ?></div></td>
<td width="388"><a href="detail_quiz_nas.php?id_q=<?php echo $row_Recordset1['id_q']; ?>" class="style7"><?php echo $row_Recordset1['title']; ?></a></td>
<td width="378" class="style9"><span class="style13"><span class="style14">จากคุณ</span> <?php echo $row_Recordset1['name_q']; ?> <span class="style14">เมื่่อ</span> <?php echo $row_Recordset1['date_insert']; ?> <?php echo $row_Recordset1['time']; ?> <span class="style14">ตอบ</span> <?php echo $row_Recordset1['count']; ?></span></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
<table border="0" align="center" bgcolor="#FFCCFF">
<tr>
<td><span class="style7">
<?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">หน้าแรก</a>
<?php } // Show if not first page ?>
</span></td>
<td><span class="style7">
<?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">ย้อนกลับ</a>
<?php } // Show if not first page ?>
</span></td>
<td><span class="style7">
<?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>">ถัดไป</a>
<?php } // Show if not last page ?>
</span></td>
<td><span class="style7">
<?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">หน้าสุดท้าย</a>
<?php } // Show if not last page ?>
</span></td>
</tr>
</table
หน้าแสดงรายละเอียดของกระทู้ครับ
<?php require_once('Connections/conboard.php'); ?>
<?php
//ตรวจสอบว่ามีการ SUBMIT FORM หรือไม่
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
//ตรวจสอบว่ามีการอัพโหลดไฟล์รูปภาพหรือไม่ (INPUT TYPE="FILE")
$photofile = $_FILES['photofile']; //จะได้อาร์เรย์ 1 มิติ $photofile
//รับค่าข้อมูลการอัพโหลดไฟล์จากอาร์เรย์ $photofile
$phototmp_name = $photofile['tmp_name'];
$photoname = $photofile['name'];
$phototype = $photofile['type'];
$photosize = $photofile['size'];
//ตรวจสอบว่ามีการอัพโหลดไฟล์รูปภาพหรือไม่
if ($photosize > 0) { //หากอัพโหลด
//ก็อปปี้/ย้ายไฟล์จาก Temp ไปโฟลเดอร์รูปภาพ
move_uploaded_file($phototmp_name, ($photopath."/".$photoname) );
//กำหนดชื่อตัวแปรให้ใช้งานได้กับโค้ด INSERT INTO ของ Dreamweaver MX
$_POST['photo'] = $photoname;
}
//จบตรวจสอบว่ามีการอัพโหลดไฟล์รูปภาพหรือไม่ (INPUT TYPE="FILE")
}
//จบตรวจสอบว่ามีการ SUBMIT FORM หรือไม
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO tb_ans (id_q, detail_a, name_a, `date`, `time`, photo) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id_q'], "int"),
GetSQLValueString($_POST['detail_a'], "text"),
GetSQLValueString($_POST['name_a'], "text"),
GetSQLValueString($_POST['date'], "date"),
GetSQLValueString($_POST['time'], "date"),
GetSQLValueString($_POST['photo'], "text"));
mysql_select_db($database_conboard, $conboard);
$Result1 = mysql_query($insertSQL, $conboard) or die(mysql_error());
$insertGoTo = "detail_quiz_nas.php?id_q=" . $row_Recordset1['id_q'] . "";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
$colname_Recordset1 = "-1";
if (isset($_GET['id_q'])) {
$colname_Recordset1 = $_GET['id_q'];
}
mysql_select_db($database_conboard, $conboard);
$query_Recordset1 = sprintf("SELECT * FROM tb_quiz WHERE id_q = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $conboard) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
$colname_Recordset2 = "-1";
if (isset($_GET['id_q'])) {
$colname_Recordset2 = $_GET['id_q'];
}
mysql_select_db($database_conboard, $conboard);
$query_Recordset2 = sprintf("SELECT * FROM tb_ans WHERE id_q = %s", GetSQLValueString($colname_Recordset2, "int"));
$Recordset2 = mysql_query($query_Recordset2, $conboard) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
window.onload = function () {
var a=document.getElementById('mytable'); // อ้างอิงตารางด้วยตัวแปร a
for(i=0;i<a.rows.length;i++){ // วน Loop นับจำนวนแถวในตาราง
if(i>0){ // ตรวจสอบถ้าไม่ใช่แถวหัวข้อ
if(i%2==0){ // ตรวจสอบถ้าไม่ใช่แถวรายละเอียด
a.rows[i].className="tr_odd"; // กำหนด class แถวแรก
}else{
a.rows[i].className="tr_even"; // กำหนด class แถวที่สอง
}
}else{ // ถ้าเป็นแถวหัวข้อกำหนด class
a.rows[i].className="tr_head";
}
}
}
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style6 {font-family: Tahoma; font-size: 14px; }
-->
.tr_head{
background-color:#FF00CC;
color:#FFCC00;
}
/* class สำหรับแถวแรกของรายละเอียด */
.tr_odd{
background-color:#FF99FF;
font-size:12px;
}
/* class สำหรับแถวสองของรายละเอียด */
.tr_even{
background-color:#FFFCCC;
font-size:12px;
}
body {
background-image: url(images/bg_t02.jpg);
/*background-repeat:no-repeat;*/
/* background-position: center center;
background-attachment:fixed}*/
}
.style16 {
font-family: Tahoma;
font-size: 12px;
color: #0000FF;
}
.style17 {color: #FFFF00}
.style18 {
color: #0000FF;
font-size: 16px;
}
.style20 {
font-family: Tahoma;
font-size: 12px;
color: #006600;
}
.style23 {
font-family: Tahoma;
font-size: 12px;
}
.style24 {font-family: Tahoma; font-size: 14px; color: #0000FF; }
.style26 {font-size: 14; }
a:link {
color: #0033FF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #FF0000;
}
a:hover {
text-decoration: none;
color: #00FFFF;
}
a:active {
text-decoration: none;
color: #FF9900;
}
.style27 {
color: #FF0000;
font-weight: bold;
font-family: Tahoma;
font-size: 14px;
}
.style29 {font-size: 14px}
</style>
</head>
<body>
<table width="691" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><div align="right" class="style23">[<a href="insert_quiz.php">ตั้งกระทู้ใหม</a>่][<a href="main.php"> กลับหน้ารวมกระทู้</a> ] </div></td>
</tr>
<tr>
<td width="530" bgcolor="#FF66CC"><div align="center" class="style18 style23"><?php echo $row_Recordset1['title']; ?></div></td>
</tr>
<tr>
<td bgcolor="#FFCCCC"><div align="left"><span class="style20"><span class="style29"><?php echo $row_Recordset1['detail']; ?></span><br />
<br />
<img src="photos/<?php echo $row_Recordset1['photo']; ?>" /></span></div></td>
</tr>
<tr>
<td bgcolor="#FFCCFF"><div align="right"><span class="style16">จากคุณ <span class="style17"><?php echo $row_Recordset1['name_q']; ?></span> เมื่อ <span class="style17"><?php echo $row_Recordset1['date_insert']; ?></span> <span class="style17"><?php echo $row_Recordset1['time']; ?></span></span></div></td>
</tr>
</table>
<div align="center">
<?php if ($totalRows_Recordset2 == 0) { // Show if recordset empty ?>
<span class="style27">ยังไม่มีคนตอบกระทู้</span>
<?php } // Show if recordset empty ?>
<br />
</div>
<table width="691" border="0" align="center" cellspacing="5">
<?php do { ?>
<?php if ($totalRows_Recordset2 > 0) { // Show if recordset not empty ?>
<tr>
<td bgcolor="#FFCCCC"><p class="style6"> <span class="style20"><?php echo $row_Recordset2['detail_a']; ?></span><br />
<img src="photos/<?php echo $row_Recordset2['photo']; ?>" /></p>
<p align="right" class="style16">จากคุณ <span class="style17"><?php echo $row_Recordset2['name_a']; ?></span> เมื่อ <span class="style17"><?php echo $row_Recordset2['date']; ?></span> <span class="style17"><?php echo $row_Recordset2['time']; ?></span></p></td>
</tr>
<?php } // Show if recordset not empty ?>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
</table>
<br />
<form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1" onsubmit="MM_validateForm('name_a','','R','detail_a','','R');return document.MM_returnValue">
<table width="500" border="0" align="center" background="images/017920.jpg">
<tr>
<td colspan="2"><div align="center" class="style24">ตอบกระทู้</div></td>
</tr>
<tr>
<td width="109" class="style24"><div align="right" class="style26">รายละเอียด</div></td>
<td width="381" background="images/017920.jpg"><textarea name="detail_a" id="detail_a" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td class="style24"><div align="right">รูป</div></td>
<td><input name="photofile" type="file" id="photofile" size="20" maxlength="50" />
<input type="hidden" name="photo" id="photo" /></td>
</tr>
<tr>
<td class="style24"><div align="right" class="style26">ผู้ตอบ</div></td>
<td><input type="text" name="name_a" id="name_a" />
<input name="id_q" type="hidden" id="id_q" value="<?php echo $row_Recordset1['id_q']; ?>" />
<input type="hidden" name="date" id="date" value="<? echo date("Y-m-d");?>" />
<input type="hidden" name="time" id="time" value=<? echo date("H:i:s")?> /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="button" id="button" value="ตอบกระทู้" />
<input type="reset" name="button2" id="button2" value="ลบข้อมูล" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<div align="center">
<input type="hidden" name="MM_insert" value="form1" />
<span class="style23"> [<a href="main.php"> กลับหน้ารวมกระทู้</a> ] </span></div>
</form>
</body>
</html>
<?php
mysql_free_result($Recordset1);
mysql_free_result($Recordset2);
?>
Date :
2011-08-04 09:25:48
By :
addy_it
ทำไม่ได้ครับ...ไม่เข้าใจครับ....ช่วยหน่อยครับ...
Date :
2011-08-06 09:20:03
By :
addy_it
เอา Code เฉพาะที่ Update มาให้ดูครับ เยอะเกินไม่รู้จะดูตรงไหนครับ
Date :
2011-08-08 06:45:16
By :
webmaster
Load balance : Server 00