이 기사의 예에서는 PHP 질문 응답 애플리케이션 인터페이스의 구현 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
question_get.php 파일은 다음과 같습니다.
session_cache_expire(60)
세션_시작()
if(!isset($_SESSION['zaszh_user_id'])){
echo json_encode(array('status'=>'error','msg'=>'연결 시간이 초과되었습니다. 페이지를 다시 열어주세요.'));
종료
}
$user_id = $_SESSION['zaszh_user_id']
// $user_id = 1; // 테스트용
// 무작위 질문 5개 받기
$question_id = 배열()
while(sizeof($question_id)<5){
$num_rand = mt_rand(1,114)
If(!in_array($num_rand, $question_id))
$question_id[] = $num_rand
}
require('connect_database.php')
//답변 개수
$mysqli->query("update zaszh_user set 답변_surplus=answer_surplus-1 여기서 id={$user_id} 및 Answer_surplus>0");
if($mysqli->affected_rows){
// 남은 시간이 있습니다
}그밖에{
// 남은 시간 없음
echo json_encode(array('status'=>'error','msg'=>'오늘의 답변 횟수가 모두 소진되었습니다. 내일 다시 오세요~'));
$mysqli->닫기()
종료
}
// 제목
if($stmt = $mysqli->prepare("selectquestion,A,B,C,D,answer from zaszh_question where id in(?,?,?,?,?)")){
$stmt->bind_param('iiiiii',$question_id[0],$question_id[1],$question_id[2],$question_id[3],$question_id[4])
$stmt->실행()
$stmt->bind_result($question,$A,$B,$C,$D,$답변)
$행 = 배열()
while($stmt->fetch()){
$rows[] = 배열(
'질문'=>$질문,
'A'=>$A,
'B'=>$B,
'C'=>$C,
'D'=>$D,
'답변'=>$답변
);
}
// 답변 기록
if($stmt = $mysqli->prepare("zaszh_answer(user_id,question1,question2,question3,question4,question5,create_date) 값에 삽입(?,?,?,?,?,?,unix_timestamp(now() ))")){
$stmt->bind_param('iiiiii',$user_id,$question_id[0],$question_id[1],$question_id[2],$question_id[3],$question_id[4])
$stmt->실행()
If($answer_id = $stmt->insert_id){
$param = 배열(
'answer_id'=>$answer_id
);
echo json_encode(array_merge($rows,$param))
}그 외{
echo json_encode(array('status'=>'error','msg'=>'시스템 오류.'))
~
}
$stmt->닫기()
}
$mysqli->close();
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.