我想要扩展功能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']
任何见解或方向都是值得的。
答案 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]
。