사용자 체크 박스 선택에 따라 PHP 페이지에서 필터링 가능한 MySQL 데이터를 표시하는 방법을 익히려고합니다. 도메인 이름 데이터베이스와 Nominet DAC 정보에 따라 갱신해야하는 날짜가 있으며 필터링되지 않은 데이터를 표시 할 수 있지만 도메인 확장을 기준으로 결과를 필터링하는 것은 까다로울 수 있습니다. 이 단계에서 나는 여기서 내가 함께 일하는 법을 배우려는 많은 아이디어에 진지한 초보자임을 지적해야한다. 따라서 부드럽게 지내라. 나는 여기에도 다른 기사를 쓰려고했지만 주사위는 사용하지 않았다. AJAX 필터 체크 박스를 사용하여 MySQL 결과
는 내가 지금까지 다음과 같은 한 :HTML
<input type="checkbox" class="extensions" name="extensions" value=".co.uk">.co.uk</input>
<input type="checkbox" class="extensions" name="extensions" value=".org.uk">.org.uk</input>
스크립트
$('.extensions').live('click', function() {
var all_boxes = $('.extensions');
var all_boxes_values = [];
var i = 0;
for (var i; i < all_boxes.length; i++) {
if (all_boxes[i].checked) {
all_boxes_values.push(all_boxes[i].value)
}
}
var all_boxes_values_clean = all_boxes_values.join(", ");
console.log(all_boxes_values_clean);
$.get("sql-test.php", {q: all_boxes_values_clean},
function(result) {
$("div#output").html(result);
}
)});
PHP
$g = $_GET['q'];
$extensionsql="";
$extension=1;
if(isset($g)) {
$extension=1;
$param = "" . str_replace(",", "','", $_GET['q']) . "";
}
그리고 그것은 지금까지 내가 내 제한으로받은대로입니다 능력. 다음은 도메인 일치 열을 검색하여 해당 결과를 사용자에게 반환하는 것입니다. 다음과 같은 것을 모방하는 것이지만 그것을 성취 할 방법이 확실하지 않습니다. 어떤 도움이 많이 주시면 감사하겠습니다 :
SELECT * FROM `refresh` WHERE `domainName` LIKE '%.co.uk%' AND renewalDate LIKE '%2012-06-30%' ORDER BY `domainName` ASC
감사합니다 이름
일을하지만, , 친구. [foreach] (http://php.net/manual/en/control-structures.foreach.php)를 사용하십시오. – goat
Thanks @Waygood. while (list ...를 foreach로 바꾸었지만 스크립트가 실행될 때 SQL 오류를 반환합니다. 또는 SQL 구문에 오류가 있습니다. 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 'OR ORDER BY domainName ASC'1 번 줄 근처에서 사용하십시오. 이것이 왜 그런지에 관해 조언 할 수 있습니까? 이것에 대한 귀하의 도움에 다시 한번 감사드립니다. – keepitnang