PHP只获取循环的最后一个值

时间:2018-02-18 17:17:45

标签: javascript php json

我只获得了const appRoutes: Routes = [ { path: 'users', component: UsersComponent, children: [ { path: '', component: UserDetailComponent }, { path: ':userId', component: UserDetailComponent } ] }, { path: '**', redirectTo: '/users', pathMatch: 'full' } ];的最后一个值,我给了它一个唯一的ID,我仍然得到最后一个值

foreach loop

这是我用来获取id的 <?php if (!empty($array)){ foreach($array['users'] as $id){ echo '<a href="#" id="btnClick" onClick="clickEvent();"> <div class="choices"> <dl> <dt id="id'.$id['userID'].'">'.$id['userID'] .'</dt> <dd id="name">'.$id['userName'].'</dd> <dd>'.$key.'</dd> </dl> </div> </a>'; } } ?> ,所以我可以直接将它放在url上。

javascript

2 个答案:

答案 0 :(得分:2)

var foo = "<?php echo $id['userID'] ?>";

$id的值是$array['users']中的最后一个元素foreach循环它。因此,$id['serID']是最后一个元素userId

一个简单的解决方案是修改clickEvent()以接受参数,在这种情况下为userId

PHP:

echo '<a href="#" id="btnClick" onClick="clickEvent("' . $id['userID'] . '");">
      ......';

JavaScipt将是:

function clickEvent(userId){
        var json = 'http://batz.web/Sandbox/details.php?userID=' + userId;
        console.log(json);
        $.getJSON(json, function (results){
            document.getElementById("title").innerHTML = results.users[0].userID;
            document.getElementById("body").innerText = results.users[0].userAddress;
        });
    }

答案 1 :(得分:2)

循环结束后,$id的值保存循环的最后值。因此,最后一个值在

中输出
var foo = "<?php echo $id['userID'] ?>";

其中一个解决方案可以将$id['userID']作为参数传递给clickEvent

echo '<a href="#" id="btnClick" onClick="clickEvent(' . $id['userID'] . ');">

clickEvent定义为:

// now foo is an argument
function clickEvent(foo){
    var json = 'http://batz.web/Sandbox/details.php?userID=' + foo;  // use foo, not foo1
    console.log(json);
    $.getJSON(json, function (results){
        document.getElementById("title").innerHTML = results.users[0].userID;
        document.getElementById("body").innerText = results.users[0].userAddress;
    });
}