0

私の構文がここで問題になっているように見えるので、これはかなり簡単に解決できると思います。他の単純なスタックオーバーフローの問題を検索しましたが、この問題を解決できないようです。

エラーが発生してい Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\Active\Formula One\admin\list_products.php ます。

IDを使用して編集するオプションを使用して、データベース内のアイテムの簡単なリストビューを実行しています。タグをテーブルに追加しようとして<a href>いますが、追加するための正しい構文がわかりません。

含めようとしているリンクは <td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>

テーブルはそのように表示されます。

echo "<tr>
<td>" . $row['id'] . "</td>
<td>" . $row['prod_id'] . "</td>
<td>" . $row['prod_sub_id'] . "</td>
<td>" . $row['name'] . "</td>
<td>" . $row['description'] . "</td>
<td>" . $row['price'] . "</td>
<td>" . $row['sale'] . "</td>
<td>" . $row['picture'] . "</td>
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>";

助けてくれてありがとう、申し訳ありませんが、これはとても単純な問題ですが、私はしばらくの間これを理解しようとしていました.

4

3 に答える 3

3

二重引用符をエスケープする必要があります

<td><a href=\" ../admin/admin.master.php?page=blog/edit_post.php&id=" . $row['id'] . "\">Edit</a> </td>
于 2012-12-30T22:35:20.820 に答える
2

あなたの質問に直接答えるものではありませんが、HTML タグを印刷することは本当に避けるべきです。このような問題を解決するための PHP 代替制御構造。

したがって、HTML マークアップを PHP から分離する必要があります。

<table>

<!-- This is just an example, you shouldn't use mysql_* functions anymore -->
<!-- Use PDO or MySQLi instead -->
<?php while($row = mysql_fetch_assoc($resourse)) :?>

<tr>
  <td><?php echo $row['id'] ?></td>
  <td><?php echo $row['prod_id']; ?></td>
  <td><?php echo $row['prod_sub_id'];?> </td>
  <td><?php echo $row['name']; ?></td>
  <td><?php echo $row['description']; ?></td>
  <td><?php echo $row['price']; ?></td>
  <td><?php echo $row['sale']; ?></td>
  <td><?php echo $row['picture'];?></td>
  <td><a href="<?php printf('../admin/admin.master.php?page=blog/edit_post.php&id=', $row['id']);?> ">Edit</a> </td>

</tr>

<?php endwhile; ?>

</table>

結論:

  1. これにより、コードが明確で読みやすくなります
  2. メンテナンスが容易
  3. そのような構文エラーが発生しないという自信を与えます (一般的に)
于 2012-12-30T22:46:29.337 に答える
1

問題は、php が がリンク用であることを認識せず<a href="、二重引用符を文字列の末尾として変換しているため、エラーが発生することです。

次のコード行を変更します。

    "</td>
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>";

これに:

'</td> // this needs a single quote in the beginning (not a double quoute)
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>'; // this also needs a single quote

ご覧のとおり、二重引用符で開始し、一重引用符で終了すると、php が混乱します。

さらにサポートが必要な場合はお知らせください

于 2012-12-30T22:42:49.757 に答える