0
$sql = "SELECT * from post where forum_id = $_GET[id]";
    $result = mysqli_query($conn, $sql) or die('Error querying database.');     
    while ($row = mysqli_fetch_array($result)) {
        echo '' . $row['fourm_id']; 
        echo '<div id="post3">
            <p class="1">
            <span class="name">'.'
            ' .$row['name']. '</span>'.
            '<span class="trip">
            ' .' !'
            . $row['title'].''.
            ' </span>'.
            ' <span class="time">
            ' .$row['time']. '' . 
            ' </span>'.
            ' </p>
            <p class="2">
            <span class="texts">
            ' .$row['texts']. '' .
            ' </span>'.
            ' </p>'.
            if (!isset($_SESSION["user_id"])) { 
            }
             else {
             '<a href="delete_post.php?fourm_id=' . $row['id']. '>Delete</a>' . }
            ' </div>';
         } 
        mysqli_close($conn);

?>

コードの間違いは明らかで、私がやろうとしていることを示しているだけです。

ここにあるこのエコーには、ユーザーの投稿が表示されます。管理者だけが削除リンクを表示できるように、そこにissetを貼り付けるにはどうすればよいですか?または、ユーザーの投稿の外に出ることなく、エコーの外でそれを行う別の方法はありますか?

4

2 に答える 2

0
<?
$data = array();
$sql  = "SELECT * from post where forum_id = ".intval($_GET['id']);
$res  = mysqli_query($conn, $sql) or trigger_error(mysqli_error($conn));
while ($row = mysqli_fetch_array($result)) {
  $data[] = $row;
}
?>
<?php foreach($data as $row): ?>
<?=$row['fourm_id']?>
<div id="post3">
  <p class="1">
    <span class="name"><?=$row['name']?></span>
    <span class="trip"> !<?=$row['title']?></span>
    <span class="time"><?=$row['time']?></span>
  </p>
  <p class="2">
    <span class="texts"><?=$row['texts']?></span>
  </p>
<?     if (isset($_SESSION["user_id"])): ?>
  <a href="delete_post.php?fourm_id=<?=$row['id']?>">Delete</a>
<?     endif ?>
</div>
<? endforeach ?>
于 2012-05-01T09:29:56.283 に答える
-1

インラインで実行する場合は、三項演算子またはのようなものを使用できますsprintf

三項演算子(挿入が2、3しかない場合に最適):

echo "Foo ".(isset($bar) ? "bar" : "");

(s)printf(複数の挿入がある場合に最適):

printf("Foo %s", isset($bar) ? "bar" : "");

ただし、これはあまり拡張性がないため、大規模な「文字列構造」を使用する場合は、出力を複数のステートメントに分割する方がはるかに賢明です。

echo "Foo ";
if (isset($bar)) {
    echo "bar";
}

これは、挿入が多い場合に最適です。

于 2012-05-01T09:16:43.327 に答える