저는 Ajax PHP MySQL 라이브 검색을 통해 기본적으로 MySQL 데이터베이스에서 식품 항목을 추출하고 드롭 다운 목록에 표시합니다 (사용자가 검색어, 한 줄에 하나의 항목을 입력 할 때). Google에서 검색하는 것처럼Ajax PHP 라이브 검색 - 두 번째 단계가 필요합니다.
내가 필요한 것은 사용자가 특정 결과 항목을 클릭 할 수있게하고, 클릭 한 항목 바로 아래에서 열거 할 수있는 몇 가지 라디오 버튼이있는 상자로, 해당 특정 음식의 다양한 양의 옵션을 나열합니다 목. 그러면 사용자는 금액 옵션을 선택하고 제출을 클릭하여 선택 사항을 저장할 수 있습니다.
나는 PHP와 MySQL, HTML을 잘 알고 있지만, JS는 약간의 도전 과제이므로, 답을 상세히 설명해 주시면 감사하겠습니다.
HTML 검색 서 양식 :/검색 폼 w 같은 페이지에
<input type="text" size="30" name="food_name" id="q" value="" onkeyup="sendRequest(this.value);" autocomplete="off"/>
아약스 코드 :
다음은 내가이 시점에서 가지고있는 일부 코드 조각입니다
function createRequestObject() { var req; if(window.XMLHttpRequest){ // Firefox, Safari, Opera... req = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer 5+ req = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert('Problem creating the XMLHttpRequest object'); } return req; } // Make the XMLHttpRequest object var http = createRequestObject(); function sendRequest(q) { // Open PHP script for requests http.open('get', 'checkfoods.php?q='+q); http.onreadystatechange = handleResponse; http.send(null); } function handleResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned FROM the PHP script var response = http.responseText; if(response) { // UPDATE ajaxTest content document.getElementById("searchResults").innerHTML = response; } } }
FOOD_DES라는 테이블을 MySQL로 가져 와서 가져 오는 PHP 스크립트 식품의 드롭 다운 목록을 채우는 결과를 백업 :
include 'my-food-dtabase.php'; $searchQry = isset($_GET['q']) ? mysql_real_escape_string($_GET['q']) : false; if ($searchQry) { $searchString = $_GET['q']; $sql = mysql_query("SELECT NDB_No, FdGrp_Cd, Long_Desc FROM FOOD_DES WHERE Long_Desc LIKE '%".$_GET['q']."%' ORDER BY Long_Desc ASC"); if($searchString != NULL) { while($row = mysql_fetch_assoc($sql)) { echo "<span id=foodlist><a href=calorie-counter-serving.php?NDB_No=".$row['NDB_No'].">".$row['Long_Desc']."</a><br /></span>"; } } if(mysql_num_rows($sql) == 0) { echo "<span class=medium_white>Food item not found. Try a different name or keyword.</span>"; } }
http://www.cs.arizona.edu/~mccann/indent_c.html#One –
이 작업을 할 때 AJAX 요청/응답을 볼 수 있는지 확인하십시오 - 그것은 엄청난 도움이됩니다. 크롬이 기본적으로 가지고 있거나 Firefox + Firebug가 좋습니다. – halfer