2014-01-25 4 views
0

좋아, 나는 배우는 웹 사이트에서 일하고 있고, 나는 지난 며칠 동안 극복 할 수 없었던 커다란 장애물에 이르렀다. 장애물, 이제 막혔어요 ...Javascript Array from MySQL

누군가가 매우 유용한 튜토리얼이나 기타 것을 알고 있다면, 저는 자습서를 찾아 도와 주려고 열심히 노력하고 있습니다. 해결책을 찾는데 도움이되었습니다.

내가 원하는 것 : 사람이 수업 페이지로 이동하면 질문 목록에서 5 개의 항목을 가져 와서 한 번에 한 사람에게 1 개씩 표시하고 Enter를 누르면 해당 항목을 다음 항목은 5 개 항목을 통과했을 때 페이지를 떠납니다. 를 첫 번째 배열 번호 를 기반 페이지에 자바 스크립트 화살표 데이터로드에 5 질문 아이디의 퍼팅으로 반복을 통해 어레이 데이터를로드 : 5 질문 ID의 사용 MySQL의

내가 필요 해요 당겨 : 작업이 무엇

페이지 새로 고침없이

이것은 내가 지금까지 가지고있는 lesson.php 페이지입니다. 코드 스 니펫이었던 몇 가지를 빼고 stackoverflow에서 찾을 수있는 것은 설치 프로그램에서 작업을 시도한 것입니다 :

<!doctype html> 
<?php 
include ("Connections/localhost.php"); 

//Get up to five questions that user hasn't seen 
$sql = "SELECT quest_id FROM questions LEFT OUTER JOIN answers ON questions.quest_id = answers.ans_question WHERE answers.ans_question IS null and questions.quest_level <= (SELECT user_level FROM users WHERE username = '".$_SESSION['username']."' LIMIT 5);"; 
$qresult = mysql_query($sql); 

//Get number of lessons available 
$result = mysql_query("SELECT COUNT(*) AS total FROM questions LEFT OUTER JOIN answers ON questions.quest_id = answers.ans_question WHERE answers.ans_question IS null and questions.quest_level <= (SELECT user_level FROM users WHERE username = '".$_SESSION['username']."');"); 
$les = mysql_fetch_assoc($result); 
?> 

<html> 
<head> 
<meta charset="utf-8"> 
<title>Lesson</title> 

<script> 
function play_audio() { 
    document.getElementById('id1').play(); 
} 

var lessons = <?php echo $les['total']; ?>; 
var i = 1; 

if(lessons > 5) { 
    lessons = 5 
} 

function next_question() { 
    if(i<lessons) { //if there are still reviews to do 
     //call webpage to get new information 
     i++; 
    } 
    else { 
     //Load finished page 
    } 
} 

</script> 

<link href="review.css" rel="stylesheet" type="text/css"> 
</head> 

<body> 

<div id="text_display"> 
<p><?php echo "Question Appears Here" ?></p> 
</div> 

<div id="looking"> 
What is the <?php echo "Meaning?" ?> 
</div> 

<div id="input_bar"> 
<form> 
    <input type="text" name="textfield" id="txt_input"> 
</form> 
</div> 
<div id="audio"> 
<form> 
    <input name="audio" type="button" id="btn_audio" value="Audio" onClick="play_audio()"> 
</form> 
</div> 
<div id="info"> 
<audio id="id1" src="audio/" style="display:none"></audio> 
<h2>Information</h2> 
<p></p> 
</div> 
</body> 
</html> 

데이터베이스에서 선택한 질문 정보를 가져올 getitem.php 페이지가있어 정보를 가져 와서 다시로드하지 않고도 레슨 페이지를 업데이트 할 수 있습니다.

<?php 
include ("Connections/localhost.php"); 

//Get item from url 
$question = $_GET["ans_question"]; 

//Make sure to get UTF-8 
$change = "SET NAMES 'utf8'"; 
mysql_query($change) or die("The change did not work: $change"); 

//Pull that question from the database 
$sql = mysql_query("SELECT * FROM questions WHERE quest_id = '".$question."'"); 
$item= mysql_fetch_assoc($sql); 

?> 

<html> 
<meta charset="utf-8"> 
<body> 
<div id="text"><?php echo $item['quest_text']; ?></div> 
<div id="type"><?php $qtype = $item['quest_type']; echo $qtype ?></div> 
<div id="question"><?php echo $item['quest_question']; ?></div> 
<div id="answer"><?php $ans = $item['quest_ans']; echo $ans?></div> 
<div id="qaudio"><?php $qaudio = $item['quest_audio']; echo $qaudio?></div> 
<div id="qinfomation"><?php echo $item['quest_info'];?></div> 

</body> 
</html> 
+0

그래서 getitem.php에서 lesson.php로 데이터 (5 문제)를 전송하고 싶습니까? – stackErr

+0

그래, 그게 내 문제 중 하나야, 그 페이지에 변수를 전달해야하지만 localhost/getitem.php와 같을거야? ans_question = 1 – chris3spice

+0

처음에는 더 이상 mysql_query를 사용하지 말 것을 권한다. 및 기타 관련 기능을 원래의 MySQL API와 마찬가지로 PHP에서 감가 상각합니다. 필자가 추천하는 것은 PDO 나 mysqli를 PHP의 최신 버전에서 모두 지원하고 훨씬 더 안전하기 때문에 대신 사용하는 것입니다. – SteppingHat

답변

0

그것은 당신이 일반적으로 PHP와 웹 개발을 처음 사용하는 경우는 감각 핵심 PHP는 propgramming 함께 놀러 할 것입니다하지만 당신이 일을 단순화하기 위해 laravel 같은 프레임 워크를 사용하는 당신에게 좋은 많이 할 것이며, mysql 쿼리. 다른 Laravel은 배우기가 쉽고 설치가 간단합니다. 그 말로는 mysql에서 json 데이터를 웹 페이지로 반환하고 jquery를 사용하여 결과를 캡처 할 수도 있습니다.

Ajax 응용 프로그램을 빌드하는 방법에 대해 알아야 할 것이므로 Jquery library을 사용하는 것이 좋습니다.

+0

고마워요. 나는 그것을 새롭게하지 않겠습니다. ve는 PHP를 사용했습니다 ... 버전 2는 웹 개발을 마지막으로했을 때 새로운 버전의 브랜드였습니다. 기본 자바 스크립트 클래스를 작성했으나 거의 도움이되지 않았습니다. – chris3spice