1

(Facebook API検索から)検索結果の配列を生成するPHPコードがあります。

クリックするとそのアイテムを配列から削除し、更新して新しい配列を表示するハイパーリンク/ボタンを含めることはできますか?

unset()を使用してアイテムを削除することになります。

これが私が持っているコードです:

foreach ($search['data'] as $key => $list) {
   echo "<li><dt>Name:</dt>" . "<dd>" . $list['name'] . "</dd>\n";

   $gender = $facebook->api('/'.$list['id']);
   echo "<dt>Gender:</dt>" . "<dd>".ucfirst($gender['gender'])."</dd>\n";
   echo "   <a href='fb2.php?fbid=" .$list['id']. "'><img src='https://graph.facebook.com/".$list['id']."/picture?type=normal' /></a>\n";
   echo "<a href='remove.php?id= ????? ";
   echo "</li>";
    } 
    echo"</ol>"; 
4

2 に答える 2

2

オプションとしてJavascriptについて言及していないことは知っていますが、フロントエンドのみの場合は、次のようにjQueryを使用します。

HTMLファイルの場合:

<script url="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>

<ol id="facebook-tags">

<?php
    foreach ($search['data'] as $key => $list) {
        echo "<li><dt>Name:</dt>" . "<dd>" . $list['name'] . "</dd>\n";
        $gender = $facebook->api('/'.$list['id']);
        echo "<dt>Gender:</dt>" . "<dd>".ucfirst($gender['gender'])."</dd>\n";
        echo "   <a href='fb2.php?fbid=" .$list['id']. "'><img src='https://graph.facebook.com/".$list['id']."/picture?type=normal' /></a>\n";
        echo "<a class="remove">Remove</a>";
        echo "</li>";
    } 
?>

</ol>

<script>
    $('#facebook-tags').delegate('a.remove', 'click', function() {
        $(this).closest('li').remove();
    });
</script>
于 2013-03-24T19:45:56.883 に答える
2

chrislondonは、クライアント側で削除する方法をアドバイスしてくれました。ただし、PHP側で一部を削除する場合は、次のように実行できます。

foreach ($search[ 'data' ] as $key => $list ) {
    if( $_GET[ 'id' ] == $key ){
//use unset only if you store $search[ 'data' ] in session or some, to remove it totally from results
//        unset( $search[ 'data' ][ $key ] );
        continue;
    }

    echo "<li><dt>Name:</dt>" . "<dd>" . $list[ 'name' ] . "</dd>\n";

    $gender = $facebook -> api( '/' . $list[ 'id' ] );
    echo "<dt>Gender:</dt>" . "<dd>" . ucfirst( $gender[ 'gender' ] ) . "</dd>\n";
    echo "<a href='fb2.php?fbid=" . $list[ 'id' ] . "'>
        <img src='https://graph.facebook.com/" . $list[ 'id' ] . "/picture?type=normal' /></a>\n";
    echo "<a href='remove.php?id=$key ";
    echo "</li>";
}
echo"</ol>";
于 2013-03-24T19:55:00.180 に答える