php - 从foreach获取特定变量

时间:2014-02-17 19:11:43

标签: php variables foreach

我想要扩展功能foreach。这很简单:

<ul>
     <?
        $sql_find = "SELECT DISTINCT(column_chosen) as Sec FROM column_a WHERE column_chosen NOT LIKE  '' ";
            $get_var = mysqli_query($db, $sql_find);
            while ($r=mysqli_fetch_assoc($find_var)){
            foreach($r as $newest_variable) {
            echo '                      
               <li><a href="#" class="first">'.$newest_variable. '</a></li>';} }?>              

        </ul>

让我们说它的html输出是这样的:

  <li><a href="#" class="drop">one</a></li>
  <li><a href="#" class="drop">two</a></li>
  <li><a href="#" class="drop">three</a></li>

我希望能够获得一个特定的变量($ newest_variable)并将其放入$_SESSION或做其他事情,也许用javascript等提醒它。

问题:
这种结构有可能吗?我怎么能得到一个特定的变量$newest_variable
例如,在第二个<li>中,只需获取two并输入$_SESSION['result']

任何见解或方向都是值得的。

2 个答案:

答案 0 :(得分:3)

    <ul id="itemList">
    <?
    $sql_find = "SELECT DISTINCT(column_chosen) as Sec FROM column_a WHERE column_chosen NOT LIKE  '' ";
    $get_var = mysqli_query($db, $sql_find);
    while ($r=mysqli_fetch_assoc($find_var)){
        foreach($r as $newest_variable) {
    echo '                      
    <li><a href="#" class="first">'.$newest_variable. '</a></li>';} }?>              
</ul>
<script>
$('#itemList li').click(function() {
    var index = $(this).index();
    var text = $(this).text();
    alert('Index is: ' + index + ' and text is ' + text);
});
</script>

使用JQuery的小代码,您可以使用ajax将这些变量传递给php并设置为session,并执行您想要的其他函数:)

答案 1 :(得分:1)

如果你想制作一个来自foreach的所有元素的数组,那很简单:

<ul>
<?
$sql_find = "SELECT DISTINCT(column_chosen) as Sec FROM column_a WHERE column_chosen NOT LIKE  '' ";
$get_var = mysqli_query($db, $sql_find);
while ($r=mysqli_fetch_assoc($find_var)){
    foreach($r as $newest_variable) {
        $newArray[] = $newest_variable; //Makes an array of all elements of the foreach
        echo '
        <li><a href="#" class="first">'.$newest_variable. '</a></li>';
    }
}
?>              
</ul>

现在,数组$newArray将包含foreach的所有值,例如,如果您想要第二个元素,则可以使用$newArray[1]