>  기사  >  백엔드 개발  >  php+mysql 질문에 대한 온라인 답변

php+mysql 질문에 대한 온라인 답변

WBOY
WBOY원래의
2016-08-08 09:29:551251검색

겨울방학 동안 회사에서 인턴 생활을 하면서 작은 일을 했는데요. 처음에는 PHP를 이용해 온라인 질의응답 프로젝트를 구현했는데, 스위치를 활용해서 하는 일이 많았습니다. 나중에 페이지가 너무 크고 자격이 부족하다고 느꼈습니다. 현재 페이지는 자체 루프를 만들고 타이밍을 위해 js를 사용하고 있지만 전체에 여전히 특정 문제가 있음을 발견했습니다. js에서는 점프와 폼 작업이 분리되어 있어 올바른 질문이 한 번 덜 판단된다는 의미입니다. 결국 두 개의 인터페이스를 사용하여 결과를 별도로 표시할 수 있습니다. 앞으로는 이 부분이 개선되길 바랍니다.

connetvar.php

<?php
  // Define database connection constants
  define(&#39;DB_HOST&#39;, &#39;localhost&#39;);
  define(&#39;DB_USER&#39;, &#39;root&#39;);
  define(&#39;DB_PASSWORD&#39;, &#39;&#39;);
  define(&#39;DB_NAME&#39;, &#39;test&#39;);
?>

index.php

<?php 
session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>问答</title>
</head>
<body>
<script type="text/javascript">
	window.onload=function(){
	setInterval(function(){
		var text=document.getElementById("text");
		var value=text.value;//innerHTML
		if(value>0){
			value-=1;
			text.value=value;
		}else{
			location.href="show_js.php";
			return false;
		}
	},1000);
	
}
</script>
<?php
require_once(&#39;connectvars.php&#39;);
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
mysqli_set_charset($dbc,&#39;utf8&#39;);
	
if(isset($_POST[&#39;index&#39;])){
	$index= $_POST[&#39;index&#39;];
	$choice=$_POST[&#39;choice&#39;];
	//check
	$arr = $_SESSION[&#39;arr&#39;];
	//$arrconut = $_SESSION[&#39;conut($arr)&#39;];
	$query = "SELECT * FROM question where id=$arr[$index]";
	$results = mysqli_query($dbc, $query);
	$row = mysqli_fetch_row($results);
	$answer=$row[&#39;5&#39;];
	$_SESSION[&#39;index&#39;] = $index;
    if ($choice == $answer)
	{
		echo"<script type=&#39;text/javascript&#39;>alert('答对了,下一题');</script>";//location='index1.php';

	}
	else
	{
		echo"<script type=&#39;text/javascript&#39;>alert('你答错了,游戏结束');location='show.php';</script>";
	}

	if($index == count($arr)-1) {

		$index=$index+1;
		$_SESSION['index'] = $index;
		echo"<script type=&#39;text/javascript&#39;>alert('题都给你答完了');location='show.php';</script>";exit;
	}
	else {
		$index++;
		//var_dump($index);
		//var_dump($_SESSION['index']);
		//var_dump(count($arr));

	}

}
else {
	$arr = range(1, 5);
	shuffle($arr);
	$_SESSION['arr'] = $arr;
	$index = 0;
}
?>
<?php
$query = "SELECT * FROM question where id=$arr[$index]";
$results = mysqli_query($dbc, $query);
$row = mysqli_fetch_row($results);
?>
<form method="post" action="index.php">
<?php echo $index+1 ?> <?php echo $row[&#39;0&#39;]?><br />
<input type="radio" name="choice" value="A" />A.<?php echo $row[&#39;1&#39;]?><br />
<input type="radio" name="choice" value="B" />B.<?php echo $row[&#39;2&#39;]?><br />
<input type="radio" name="choice" value="C" />C.<?php echo $row[&#39;3&#39;]?><br />
<input type="radio" name="choice" value="D" />D.<?php echo $row[&#39;4&#39;]?><br />
<input type="submit" value="决定是你了" /> <input type="reset" value="让我再想想" />
<input type="hidden" name="index" value="<?php echo $index ?>" /><br />
您还有<input type="text" name="clock" size="2" value="10" id="text" />秒的答题时间
</form>
</body>
</html>

show.php

<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Guitar Wars - High Scores</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php 
$id = $_SESSION[&#39;index&#39;] ;
echo &#39;你一共答对了&#39;.$id.&#39;题&#39;;
//var_dump($id);
switch ($id)
{
	case 0 :              
		echo &#39;你的折扣为9.5折&#39;;//用户自行修改case和相应的折扣参数
		break;
    case 1 :
		echo &#39;你的折扣为9折&#39;;
		break;
	case 2 :
		echo &#39;你的折扣为8.5折&#39;;
		break;
	case 3 :
		echo &#39;你的折扣为8折&#39;;
		break;
	case 4 :
		echo &#39;你的折扣为7.5折&#39;;
		break;
	case 5 :
		echo &#39;你的折扣为7折&#39;;
		break;
}
?>
 
  <hr />
  </body> 
</html>
<?php 

unset($_SESSION[&#39;index&#39;]);

?>

show_js.php

<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Guitar Wars - High Scores</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php 
$id = $_SESSION[&#39;index&#39;]+1 ;
echo &#39;你一共答对了&#39;.$id.&#39;题&#39;;
//var_dump($id);
switch ($id)
{
	case 0 :              
		echo &#39;你的折扣为9.5折&#39;;//用户自行修改case和相应的参数
		break;
    case 1 :
		echo &#39;你的折扣为9折&#39;;
		break;
	case 2 :
		echo &#39;你的折扣为8.5折&#39;;
		break;
	case 3 :
		echo &#39;你的折扣为8折&#39;;
		break;
	case 4 :
		echo &#39;你的折扣为7.5折&#39;;
		break;
	case 5 :
		echo &#39;你的折扣为7折&#39;;
		break;
}
?>
 
  <hr />
  </body> 
</html>
<?php 

unset($_SESSION[&#39;index&#39;]);

?>

이상은 관련 내용을 포함하여 php+mysql의 온라인 답변을 소개하고 있으니, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.