Php 单选按钮的onclick操作未按预期工作

Php 单选按钮的onclick操作未按预期工作,php,javascript,onclick,radio-button,Php,Javascript,Onclick,Radio Button,在过去的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 =

在过去的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
{

}
?>          

删除最后一个
$id
的原因是因为此行在while循环之外/之后:

echo "&nbsp;<input type=\"button\" id=\"sterge\" value=\"Sterge\" onclick=\"window.location.href='delete.php?id=$id'\" />";
echo”“;
您希望在循环中移动这一行,以便有一个按钮可以对每个单选按钮执行删除

更新:

要删除和删除链接,请执行以下操作:

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”“;
回声“;
回声“;
此外,我认为这里根本不需要单选按钮,因为你并没有用它做任何事情。您可以简单地重复您选择的价值,并拥有以下链接:

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 />";
echo$oferta['denumire_locatie'].';//用你选择的东西替换$oferta['denumire_locatie']
回声“;
回声“;
回声“
”;
您的$id在while()循环之外。 最后一个将被删除,因为退出循环时,$id具有最后一个的值

包括您的所有代码:

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“
”; //回声“; //回声“; 回声“;

在while循环中。

在本例中,问题与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>";
echo”“;
回声“-”;
回声“
”;
当呈现的html到达浏览器时,它将如下所示:

<?php
session_start(); 
?>  
<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事件

您只需设置操作属性:

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


然后编写myurl.php页面,该页面将读取发布的变量$\u POST['selectie'],并使用发布的id调用delete方法。

这是链接中删除id的删除脚本,我们不知道它们。首先,您缺少
session\u start()-字面上是“辐条上的棍子”。把它放在上面的
$email=$\u SESSION['email'],然后重试。如果不缺少会话_start(),我就有了。我只是没把它展示在这里,关键是价格。我永远也不知道为什么我总是喜欢上它。好的,
session_start()
在那里,那么请将它包括在您的问题中,以及我们可能需要了解的任何其他小信息。不要使用
mysql\uu
函数。他们被弃用了。使用
mysqli
PDO
代替标题,我试着将它移到里面,效果很好。但是我希望整个条目列表只有3个按钮,用户只需选择一个,然后删除/编辑或查看它,这不是我真正想要的。在这种情况下,您需要向我们展示javascript,以便我们可以提出一些答案。所以基本上你想做的是,点击三个按钮中的一个,你想抓住选中的单选按钮,并传递选中单选按钮的id。好吧。。。我知道我听起来像个十足的白痴,但我没有任何JavaScript代码。如果我用一个基本的html链接替换onclick呢?这行吗?只有在每个单选按钮都有“基本html链接”的情况下才行。不是我。你能复制/粘贴并编辑单选按钮位来告诉我你对每个收音机都有基本的html链接是什么意思吗?我试过了,效果很好。谢谢你的回答。这是一个解决方案,但它会打乱我心目中的设计,所以很不幸,我选择了艰难的道路。所以,你必须使用JS。我建议您同时使用jQuery。如果您这样做,一个简单的
window.location.href='delete.php?id='+jQuery(':radio[name=selectie]:checked').val()
就可以完成这项工作。我修改了这一行,现在它看起来像是:echo”“;如果我现在点击按钮,什么也不会发生。有什么我需要更改的吗?您是否在页面中添加了jquery?另外,如果你在Chrome上打开控制台,它会显示任何错误吗?正如我所说,当涉及到JS或其任何框架时,我是一个完全的noob。这是我第一次坦率地使用它。我应该在哪里向页面添加JQuery,以及如何添加?很抱歉这么麻烦。我知道我可以这么做,但这不允许我取消对其他两行代码的注释。如果我这样做,表单将只有一个操作,而不是三个。那么javascript选项肯定是最好的。
<form method="post" action="http://myurl.php">