2012-10-05 4 views
1

ajax를 사용하여 데이터베이스에서 데이터를 제거하는 js 함수를 만들었습니다. 매우 기본적인하지만 난 아무것도를 추가하기 전에이 작업 싶어 다른 기능은 다음과 같습니다 :ajax를 사용하여 PHP에 정보 전달

<ul id='categoryorder'> 

<?php while ($item = mysqli_fetch_array($r)) { ?> 

<li id="advert_<?php echo $item['display_id'] ?>"><div class="<?php echo $item['ad_type']?>"><a href="javascript:removeAd('<?php echo $item['display_id'] ?>')" >Remove</a></div></li> 

<?php } ?> 

</ul> 

:

function removeAd(ad_id) { 

    $.post('remove.php', {id: ad_id}); 

}; 

나는이 기능을 사용하여 링크 페이지를 구축하고 만들 수 PHP를 사용 이 페이지 벌금을 구축하고 자바 스크립트의 HREF가 된 div 내에서 링크를 제거 작성 removeAd (ID) ID가 데이터베이스 예에 해당 사업부에 관한 아이디 인과 :

<li id="advert_5"><div class="banner"><a href="javascript:removeAd('5')" >Remove</a></div></li> 

마침내이 보내야을 실제로 데이터베이스에서 해당 ID

<?php 

require ('Mysql_Connect.php'); 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

    $q = "DELETE FROM st_display WHERE display_id = {$_POST['id']}"; 
    $r = @mysqli_query ($dbc, $q); 

} 

?> 

나는이 아주 새로운 오전과 항목을 제거 remove.php 스크립트에 너무 메신저 바보 같은 실수를하거나 작동하지 않습니다 것을 않다는 말을 아주 준비 메신저! 그러나 어떤 도움이라도 대단히 감사 할 것입니다.

+5

그리고 무엇을 작동하지? – Weacked

+1

SQL 주입 경고! –

+0

그것은 안전하지 않다는 것을 압니다 만, 그것이 더 잘 작동 할 때 더 이상 인터넷에 공개되지 않을 것이고 내부적으로는 – Neil

답변

0

귀하의 검색어는 좋은 SQL 인젝션에 적합합니다.
하지만 여기가 중요하지 않습니다. echo $q을 시도하면 결과가 반환됩니까?
$.post 앞에 console.log(ad_id);을 입력하여 데이터를 전송하는지 확인하십시오.

+0

그런 일을하는 것이 좋겠지 만, remove.php 파일은 외부의 것입니다. 그래서 나는 그것이 메신저 페이지에 나타나지 않을 것입니다. 그것으로부터의 funtion? – Neil

+0

개발자 모드를 살펴 봐야합니다! 네트워크로 이동하면 귀하의 페이지와 결과가 표시됩니다. – Shadowbob

+0

또는 $ .post ('remove.php', {id : ad_id}, function (r) {console.log (r);}); 그것은 트릭을 할 것입니다 ;-) – Shadowbob

0
당신이 echo 문장의 끝에 ; 누락

,

<li id="advert_<?php echo $item['display_id']; ?>"><div class="<?php echo $item['ad_type']; ?>"><a href="javascript:removeAd('<?php echo $item['display_id']; ?>')" >Remove</a></div></li> 
+0

인라인 PHP를 사용하여 단일 에코를 할 때 문제가되지 않습니다. ''이 유효합니다. – MatthewMcGovern

관련 문제