2013-08-29 7 views
0

나는 다음과 같은 테이블이 있습니다 는 onclick을 PHP 변수에 저장 URL로 리디렉션

foreach ($forwards as $data): 
    ?> 

    <tr style="cursor: pointer" class="main_row"> 

     <td><?php echo $data['Offer']['id']; ?> </td> 
     <td><?php echo $data['Offer']['name'];?> </td> 
     <td><?php echo round($data['Stat']['ltr'],2)."%"; ?></td> 
     <td><?php echo round($data['Stat']['cpc'],2)."%"; ?></td> 
     <td><?php echo $data['Category']['name']?></td> 
     <td><?php echo $data['Country']['name'] ?></td> 
    </tr> 
    <?php 
    endforeach; ?> 

지금은 생각이 이제까지 당신이 main_row 중 하나를 클릭하면이 새로운 URL로 리디렉션해야입니다. 문제는 URL이 예를 들어 URL이 www.example.com/details/2처럼 보이는 ID를 포함한다는 것입니다. 여기서 2는 ID입니다.

이 ID는 PHP 변수에 저장된 다른 모든 데이터 같다 : $data['Offer']['id'];

지금은 PHP와 자바 스크립트를 모두 사용하여 리디렉션 할 수있는 방법을 내 질문? 해결 방법이 있습니까? .

제발 내가 충분히 PHP 서버 측과 자바 스크립트가 아니라는 것을 알고 있습니다. 이 때문에 나는이 질문을하고있다.

+0

나는 그 질문을 이해하지 못한다. Javascript가 PHP에서 ID를 가져 오는 방법을 묻고 있습니까? 사용자가 클릭 한 ''의 첫 번째 ''요소에서 가져올 수 있습니다. – Barmar

+0

질문은 분명히 자바 스크립트를 사용하여 리디렉션해야하지만 아이디 (URL의 일부)는 PHP에 저장되어 있습니다. –

+0

그러나 PHP는 자바 스크립트를 읽을 수있는 HTML에 넣습니다. – Barmar

답변

1

당신은 행의 첫 번째 열에서 ID를 얻을 수 있습니다 :

$(".main_row").click(function() { 
    var id = $(this).find("td:first-child").text(); 
    window.location.href = 'www.example.com/details/' + id; 
}); 
+0

이것은 실제로 내가 필요한 것이었지만 다른 답변도 완벽했습니다! –

2
<table>  
     <?php foreach ($forwards as $data): ?>       
       <tr data-link="http://www.example.com/details/<?php echo $data['Offer']['id']; ?>">  
        <td><?php echo $data['Offer']['id']; ?> </td> 
        <td><?php echo $data['Offer']['name'];?> </td> 
        <td><?php echo round($data['Stat']['ltr'],2)."%"; ?></td> 
        <td><?php echo round($data['Stat']['cpc'],2)."%"; ?></td> 
        <td><?php echo $data['Category']['name']?></td> 
        <td><?php echo $data['Country']['name'] ?></td> 
       </tr> 
     <?php endforeach; ?> 
    </table> 

    <script> 
    $('table tr').click(function(){ 
     document.location.href = $(this).data('link'); 
    }); 
    </script> 

비록 당신이 jQuery를 사용한다면. 행이 같이하는

$('.main_row').click(function(){ 
    window.location.href = "YOUR_URL"+$(this).attr('id'); 
}); 

을 그리고 HTML을 수정 : 당신이 jQuery를 이렇게 사용하는 경우

1

<tr style="cursor: pointer" class="main_row" id="<?php echo $id ?>"> 

이 방법 - 당신이 행을 클릭 할 때마다이 행을 추가합니다 ID를 URL에 추가하고 거기로 리디렉션하십시오.

1

을 난 당신이 리디렉션을 찾고하지, 제대로 질문을 이해하고합니다. PHP에서 리디렉션하려면 브라우저에 아무 것도 표시하기 전에 완료해야합니다.

디스플레이가 렌더링 된 후 "리디렉션"하기 때문에 앵커를 사용해야합니다.

<td><a href="www.example.com/details/<?php echo $data['Offer']['id']; ?>"> 
    <?php echo $data['Offer']['id']; ?> 
</a></td> 

앵커는 브라우저에서 href url을 지정합니다.