SQLクエリを使用して、データベースに保存されたすべてのエントリを表示するPHPコードを作成しています。エントリは正しく表示されますが、ユーザーが 1 つのエントリを削除できるようにする jQuery ダイアログを実行しようとしています。
これは私のコードです:
<?php
$username="HIDDEN";
$password="HIDDEN";
$database="HIDDEN";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Non riesco a scaricare la lista degli eventi del Diario. L'errore è dovuto a noi. Riprova più tardi. Ci scusiamo per il disagio.");
$query= ("SELECT * FROM diary WHERE Username = '{$_SESSION['Username']}' AND NOT (folder = 'c') ORDER BY " . $_GET['sort']);
$result= mysql_query($query);
$i=0;
while ($i < $num) {
$type = mysql_result($result,$i,"type");
$create_date = mysql_result($result,$i,"create_date");
$priority = mysql_result($result,$i,"priority");
$date = mysql_result($result,$i,"date");
$materia = mysql_result($result,$i,"materia");
$descr = mysql_result($result,$i,"descr");
$id = mysql_result($result,$i,"id");
?>
<!-- finestra eliminazione -->
<div id="dialog-delete<?= $id; ?>" title="Sei sicuro di voler spostare nel cestino <?php echo($type . ' di ' . $materia); ?>" style="display: none;">
<div style="margin: 20px">
<img src="http://cdn1.iconfinder.com/data/icons/DarkGlass_Reworked/128x128/apps/konsolekalendar.png" alt="" height="127" width="120" style="margin-right: 30px; float: left" /><span class="auto-style4">Sei sicuro di voler eliminare <?php echo $type . ' di ' .$materia; ?>?<br>
</span><span class="auto-style5">Stai per spostare nel cestino questo
elemento<br>creato in data <?php echo $create_date; ?>.<br><br></span>
<table style="width: 70%">
<tr>
<td style="width: 50%">
<button onclick="javascript:window.close();" style="width: 96px; height: 28px;">Annulla</button> </td>
<td class="auto-style6" style="width: 50%">
<form name="form" method="post">
<input type="submit" style="width: 95px; height: 28px; float: right" name="deletediary" value="Elimina">
</form>
</td>
<?php
if(isset($_POST['deletediary'])){
$username="HIDDEN";
$password="HIDDEN";
$database="HIDDEN";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Non riesco a leggere l'elemento. L'errore è dovuto a noi. Riprova più tardi. Ci scusiamo per il disagio.");
$query= ("UPDATE diary SET folder = 'c' WHERE (Username = '{$_SESSION['Username']}') AND (id = '".$id."') LIMIT 1");
$result= mysql_query($query);
$num = mysql_numrows($result);
mysql_close();
echo("Evento diario spostato correttamente nel cestino.");
}
?>
</tr>
</table>
</div>
</div>
<?php
echo(' <script type="text/javascript">
function showDialogDelete'.$id.'()
{
$( "#dialog-delete'.$id.'" ).dialog({
width: 650,
height: 250,
modal: true,
open: function(event, ui)
{
}
});
}
</script>');
?>
<table style="margin-bottom: 5px; width: 100%" cellspacing="10px">
<tr>
<td rowspan="2" style="width: 80px">
<table cellpadding="10px" style="width: 70px; height: 60px">
<tr>
<td>
<center style="padding: 5px"> </center>
</td>
</tr>
<tr>
<td>
<center style="padding: 5px"> </center>
</td>
</tr>
</table>
</td>
<td>
<b><?php echo $type . ' di ' . $materia ?></b><div style="float: right; color: #585858; font-size: 16pt"><span class="tooltip" onmouseover="tooltip.pop(this, '<a href=read.php?id=<?= $id?>&type=diary>Apri</a><br/><a href=\'javascript:void(null);\' onclick=\'showDialogDelete<?= $id; ?>();\'>Elimina</a>')" style="color: <?= $_SESSION['accent'] ?>">...</span></div>
</td>
</tr>
<tr>
<td>
<b>Priorità: </b><?php echo $priority; ?>
</td>
</tr>
</table>
問題は、エントリを削除しようとすると、選択したエントリではなく、常に最初のエントリが SQL コードによって削除されることです。
POST、GET、AJAX でもこの問題を解決しようとしましたが、常に最初のエントリが削除されます。
誰でも私を助けてもらえますか?