2013-08-29 39 views
0

我有如下表:的onclick重定向到URL存儲在PHP變量

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包含一個id,例如url可能看起來像www.example.com/details/2,其中2是id。

此ID是像所有存儲在一個PHP變量的其他數據:$data['Offer']['id'];

現在我的問題我如何可以重定向同時使用PHP和JavaScript?有沒有解決辦法? 。

請注意,我完全知道php我的服務器端和JavaScript不是。正因爲如此,我在問這個問題。

+0

我不明白這個問題。你問的是Javascript如何從PHP獲得ID?它可以從你點擊的''中的第一個'​​'元素中得到。 – Barmar

+0

問題是,我顯然必須使用javascript重定向,但id(這是url的一部分)存儲在php –

+0

但是PHP把它放到HTML中,Javascript可以讀取它。 – 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,雖然。

1

如果使用jQuery做:

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

和修改HTML該行看起來像:

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

這樣 - 任何時候你點擊該行並將其追加的行ID到該網址並將其重定向到那裏。

1

如果我理解你正確地問,你不是在找一個重定向。要在php中重定向,必須在向瀏覽器迴應任何內容之前完成。

因爲您想要在呈現顯示後「重定向」,您應該使用錨點。

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

該錨點將引導瀏覽器到href網址。