onclick重定向到存储在php变量中的url

时间:2013-08-29 18:15:32

标签: php javascript jquery redirect

我有下表:

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

此id与存储在php变量中的所有其他数据类似:$data['Offer']['id'];

现在我的问题如何使用php和javascript重定向?有工作吗?

请注意我完全清楚php i服务器端和javascript不是。正因为如此,我才问这个问题。

4 个答案:

答案 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 :(得分: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附加到网址并重定向到那里。

答案 2 :(得分:1)

您可以从行的第一列获取ID:

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

答案 3 :(得分:1)

如果我理解你的问题是正确的,那么你不是在寻找重定向。要在php中重定向,必须在向浏览器回显任何内容之前完成。

因为您想在渲染显示后“重定向”,所以您应该使用锚点。

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

锚点会将浏览器定向到href网址。