如何在选择框选项更改(php)上更新mySQL数据库?
I have a selectbox which should update my SQL database by option change. Because in this case I do not have a normal submit input field, if(isset($_GET['submit']))
is not working, but I do not know how to write the statement in the right way:
<?php
if(isset($_GET['submit'])){
$status = $_GET['status'];
$id = $_GET['id'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE colors set status = ? WHERE id = '$id'";
$q = $pdo->prepare($sql);
$q->execute(array($status));
Database::disconnect();
}
?>
<form action="index.php" method="get">
<select name="status" onchange='this.form.submit()'>
<option value="red">red</option>
<option value="blue">blue</option>
</select>
<?php echo "<input id='id' type='hidden' value='"$id"'>";?>
</form>
我有一个选择框,它应该通过选项更改来更新我的SQL数据库。 因为在这种情况下我没有正常的提交输入字段, if(isset($ _ GET ['submit'])) code>不起作用,但我不知道如何在 正确的方法: p>
&lt;?php
if(isset($ _ GET ['submit'])){
$ status = $ _GET ['status']; \ n $ id = $ _GET ['id'];
$ pdo = Database :: connect();
$ pdo-&gt; setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);
$ sql =“ UPDATE colors set status =?WHERE id ='$ id'“;
$ q = $ pdo-&gt; prepare($ sql);
$ q-&gt; execute(array($ status));
数据库 ::断开(); \ N}
&GT?;
&lt; form action =“index.php”method =“get”&gt;
&lt; select name =“status”onchange ='this.form.submit()'&gt;
&lt;选项值 =“red”&gt; red&lt; / option&gt;
&lt; option value =“blue”&gt; blue&lt; / option&gt;
&lt; / select&gt;
&lt;?php echo“&lt; input id ='id' type ='hidden'value ='“$ id”'&gt;“;?&gt;
&lt; / form&gt;
code> pre>
div>
It could be as simple as
if(!empty($_GET['status'])){
....
}
Try to replace this line
if(isset($_GET['submit'])){
with
if(array_key_exists('status',$_GET) && $_GET['status']!=""){
Try this:
<?php
$id = "YourID";
if(!empty($_GET["status"])){
$status = $_GET['status'];
if(isset($_GET['id']) && $_GET['id'] != ""){
$id = $_GET["id"];
//continue...
}else{
//display error (ID has not been set.)
}
}
?>
<form action="index.php" method="get">
<select name="status" onchange='this.form.submit()'>
<option value="red">red</option>
<option value="blue">blue</option>
</select>
<?php echo "<input name='id' id='id' type='hidden' value='$id'>";?>
</form>