0

過去 4 時間、私は何かを機能させるのに苦労してきました。SO やその他の情報源を確認しましたが、この件に関連するものは見つかりませんでした。コードは次のとおりです。

<?php   
$email=$_SESSION['email'];
$query1="SELECT * FROM oferte WHERE  email='$email'";
$rez2=mysql_query($query1) or die (mysql_error());
if (mysql_num_rows($rez2)>0)
{
while ($oferta = mysql_fetch_assoc($rez2))
{   
    $id=$oferta['id_oferta'];

    echo "<input type='radio' name='selectie' value='$id' id='$id'>&nbsp;<a href='oferta.php?id={$oferta['id_oferta']}'>{$oferta['denumire_locatie']}</a>";
    echo "</br>";
}

echo "</br>";


//echo "<input type=\"button\" id=\"cauta\" value=\"Vizualizeaza\" onclick=\"window.location.href='oferta.php?id={$oferta['id_oferta']}'\" />";
//echo "&nbsp;<input type=\"button\" id=\"cauta\"value=\"Modifica\" onclick=\"window.location.href='modifica.php?id={$oferta['id_oferta']}'\" />";
echo "&nbsp;<input type=\"button\" id=\"sterge\" value=\"Sterge\" onclick=\"window.location.href='delete.php?id=$id'\" />";
echo "</form>";     
echo "</div>";  
}
else
{

}
?>          

while は、データベースからすべてのユーザーのエントリをドラッグし、データベースからのエントリの ID と等しい値と ID (どれが必要なのか本当にわからないため) を使用して、それぞれのラジオ ボタンを作成します。私はそれをエコーし​​ 、IDが表示されるので問題はありません。

削除スクリプトも問題なく機能するので、指示がない限り添付しません。エントリを削除しようとするまで、エラーはありません。エントリのリストから何を選択しても、常に最後のエントリが削除されます。他に 2 つの入力がエコー アウトされていることに注意してください。これらはエントリの「表示」ボタンと「変更」ボタンです。

私はJSの手がかりがないので、これがJavaScriptに関連していないことを本当に願っています. これは、この問題を抱えている他の人にとって大きな助けになると思います。評価を下げる前に質問を編集する必要がある場合はお知らせください。ありがとう!

編集後:

これは削除スクリプトで、先ほど述べたように問題なく動作します。

<?php

if (isset($_GET['id']))
{
    $id = $_GET['id'];
    echo $id;
    require_once('mysql_connect.php');

    $query = "DELETE FROM oferte Where id_oferta = '$id'";
    mysql_query($query) or die(mysql_error());

    //header('Location: oferte.php');

}
 else

{
//header('Location: oferte.php');
}


?>      

次のように、セッションも開始されます。

<?php
session_start(); 
?>  
4

4 に答える 4

1

最後の$id行が削除される理由は、この行が while ループの外/後にあるためです。

echo "&nbsp;<input type=\"button\" id=\"sterge\" value=\"Sterge\" onclick=\"window.location.href='delete.php?id=$id'\" />";

この行をループ内に移動して、ラジオ ボタンごとに削除を実行するボタンを作成します。

アップデート:

削除するリンクと

echo "<input type='radio' name='selectie' value='$id' id='$id'>&nbsp;"; 
echo "<a href='oferta.php?id={$oferta['id_oferta']}'>{$oferta['denumire_locatie']}</a>&nbsp;";
echo "<a href='delete.php?id=$id'>delete</a>";

また、ラジオボタンは実際には何もしていないので、ここではまったく必要ないと思います。選択した値を単純にエコーアウトして、次のようにこれらのリンクを作成できます。

echo $oferta['denumire_locatie'] . '&nbsp;'; // replace $oferta['denumire_locatie'] with something of your choice
echo "<a href='oferta.php?id={$oferta['id_oferta']}'>{$oferta['denumire_locatie']}</a>&nbsp;";
echo "<a href='delete.php?id=$id'>delete</a>";
echo "<br />";
于 2013-08-08T20:54:45.267 に答える
0

レンダリングされた html がブラウザーに到達すると、次のようになります。

<input type='radio' name='selectie' value='1' id='1'>&nbsp;<a href='oferta.php?id=1'>TEXT</a>
<input type='radio' name='selectie' value='2' id='2'>&nbsp;<a href='oferta.php?id=2'>TEXT</a>
<input type='radio' name='selectie' value='3' id='3'>&nbsp;<a href='oferta.php?id=3'>TEXT</a>
<input type='radio' name='selectie' value='4' id='4'>&nbsp;<a href='oferta.php?id=4'>TEXT</a>
<br/>
<input type="button" id="sterge" value="Sterge" onclick="window.location.href='delete.php?id=5'" />

このマークアップでは、ラジオ ボタンを選択するたびに、JavaScript を使用して onclick 属性を更新しない限り、目的を達成することはできません。

一方、クライアント側のonclickイベントを使用する代わりに、フォームを送信するというボタンのデフォルトの動作を使用できます。

action 属性を設定するだけです。

<form method="post" action="http://myurl.php">

投稿された変数 $_POST['selectie'] を読み取るだけの myurl.php ページを作成し、投稿された ID で削除メソッドを呼び出します。

于 2013-08-08T21:42:32.457 に答える
0

この場合の問題は、JavaScript 関連です。私がお勧めするのは、各アイテムに単純に削除リンクを追加することです。

echo "<a href='oferta.php?id={$oferta['id_oferta']}'>{$oferta['denumire_locatie']}</a>";
echo " - <a href='delete.php?id={$oferta['id_oferta']}'>Remove</a>";
echo "</br>";
于 2013-08-08T20:59:16.667 に答える