2014-04-12 5 views
0

나는 루프 에코 인 데이터베이스 레코드를 가지고 있으므로 각 레코드 정보를 Divs에 나열합니다.PHP 변수를 아약스에 전달하고 해당 변수를 기반으로 PHP 함수를 실행하십시오.

이 페이지 뷰에서 특정 레코드를 삭제하려면 삭제 버튼을 만들려고합니다. 루프 번호 추적기 변수 $ i도 레코드 ID에 해당하므로 루프 3은 레코드 ID 3의 정보를 포함하는 div를 출력합니다.

그래서 PHP 함수에 $ i를 전달하면됩니다. sql을 사용하여 ID $ i 인 레코드를 삭제합니다.

저는이 모든 것을 같은 페이지에서하고 싶습니다. 그래서 저는 아약스가 필요하다고 가정하고 있습니다. 또한 나는 "당신은 확신합니다"라는 경고를 가질 수 있습니다. jQuery를 사용하여 PHP로 아약스로 아약스를했지만 결코 이런 식으로는 할 수 없습니다.

PHP :

   $webserver = 'localhost'; 
       $administrator = 'root'; 
       $password = ''; 
       $db_name = 'cdb'; 
       $db = mysqli_connect($webserver, $administrator, $password, $db_name) 
        or die('Error connecting'); 

       if(isset($_REQUEST['page'])) 
       { 
        $_SESSION['page'] = $_REQUEST['page']; 
       } 
       else 
       { 
        $_SESSION['page'] = 1; 
       } 
       $records_per_page = 8;    

        $query = " SELECT * 
           FROM cars, users 
           WHERE cars.dealerID = users.dealerID 
           AND users.username = '".$_GET['username']."'";   

       $result = mysqli_query($db, $query) 
        or die("Error in query: '$query'"); 
       $row = mysqli_fetch_assoc($result); 
       $i = 1; 
       $start = ($_SESSION['page'] - 1) * $records_per_page; 
       $end = ($_SESSION['page']) * $records_per_page; 
       while($row = mysqli_fetch_assoc($result) and $i < $end) 
       { 
        $i++; 
        if($i > $start) 
        { 
           <div> 
            delete 
           </div> 
           <div of magic n' fairies> 
            echo $row['informationandstuff']; 
           </div> 
           } 
          } 

삭제 기능 : 나는 같은 페이지에 유지하고 허용하는 것을 선호 BT 다른 파일에 $ 내가 게시하고 그것을 할 수

function deleteCar() 
{ 
$delete = "DELETE FROM cars 
WHERE carindex = '".$i"'"; 
} 

는 확실 JS 있습니다 팝업.

+1

당신의'form','js'를 공유하십시오 :

<div class="list-item" data-record-id="{$yourId}">your output</div> 

을 이제 사용자가 클릭 ID를 수집 ,'php' 코드도 포함되어 있습니다. – vee

+0

@vee 99.9 %의 관련성이 없으며 초기 질문에 모든 내용이 포함되지만 지저분 할 것입니다. – Vereonix

답변

0

정확하게 이해한다면,이 작업을 수행하는 한 가지 방법은 $ i 변수를 html 데이터 속성 또는 id (제안한대로)에 저장하는 것입니다. 그런 다음 jquery를 사용하여 해당 id를 수집하고이를 ajax 호출의 data 속성에 전달하십시오.

샘플 목록 항목 (I 여기 히어 닥 있으리라 믿고있어) :

$('.list-item').click(function(){ 
    //get item id 
    var recordId = $(this).data('record-id'); 
    deleteRecord(recordId); 
}); 

function deleteRecord(recordId) { 
    var recordData = 'recordId=' + recordId; 
    var request = $.ajax({ 
     type: "post", 
     url: "the-php-page-you-use-for-async-calls", 
     data: recordData, 
     success: function(resp){ 
      //show some validation that the record has been deleted 
     } 
    }); 
} 
관련 문제