私のウェブサイトには、管理者が望むニュースを編集して削除するオプションのあるニュースシステムがあります。JavascriptとPHP(window.open)
href="noticiaEditarForm.php?id_noticia=<?php echo $id ?>">Editar</a>
し、他のページで$_GET
を:
はまあ、私が使用して編集部分の権利を得ました。
しかし、これは私の編集ウィンドウを望んでいない方法です。 したがって、JavaScriptを使用して、ニューステーブル(MySQL)の主キーを含むPHP変数をポップアップウィンドウに送信する方法を検討しています。しかし、それは単なるものです。それは、それがクエリから得られる最初の値を返すだけです...(つまり、3番目の記事を編集するためにクリックすると、最初の記事を編集します)。
私の現在のコードです:
<div class="noticias">
<?php
include('conn/conn.php');
mysql_select_db($bd, $conn);
$resultado = mysql_query("SELECT * FROM noticia INNER JOIN user ON noticia.id_user=user.id_user ORDER BY id_noticia DESC");
while ($linha = mysql_fetch_array($resultado)) {
echo "<h1>" . $linha['titulo'] . "</h1>";
echo "<i>Posted by " .$linha['username']. " on " . "<y>" . $linha['data'] . "</y>" . "</i>";
echo "<p>";
echo $linha['texto'];
$id = $linha['id_noticia'];
if (isset($_SESSION['admin'])) {
?>
<div class="noticiasOpcao">
<a href="" onClick="open_win_editar()">Editar</a>
<a onclick="return confirm('Are you sure?')" href="noticiaApagar.php?id_noticia=<?php echo $id ?>">Apagar</a>
</div>
<?php
}
}
?>
<script language="javascript">
function open_win_editar() {
window.open (
"noticiaEditarForm.php?id_noticia=<?php echo $id; ?>",
"Editar notícia",
"location=1, status=1, scrollbars=1, width=800, height=455"
);
}
</script>
<?php mysql_close($conn); ?>
</div>
私のポイントは、WYSIWYGエディタに表示する記事のタイトルとテキストを取得するために別のクエリを使用することです。
誰かが私の欠陥を指摘できますか?
実際のレンダリングされた出力とは何ですか? '$ id'はループの各繰り返しで同じですか? – David
また、 'window.open' JavaScript呼び出しは、ループの後に起こるので、PHPループからの最後の' $ id'を常に持ちます。その機能は常に最後のものを開きます。 – David
「編集ウィンドウ」を正しいIDで直接読み込もうとしましたか?レコードをIDでロードするクエリはどこにありますか? – Alex