从下拉菜单中运行SQL脚本



我正在尝试创建一个下拉菜单,并根据每个选项值运行特定的SQL脚本。

php代码的一部分是这样的(我让标签更容易让你理解我想要什么(:

<div class="form-group RunningSQLScripts">
<label for="inputStatus">Running My Scripts</label>
<select id="inputStatus" name="RunningSQLScripts" class="form-control">
<option selected disabled>--</option>
<option value="RunScript1">Delete Whole Table</option>
<option value="RunScript2">Run Script 3</option>

</select>
</div>

假设RunScript1应该运行SQL命令截断表tablename1。如何从php菜单内部做到这一点?

最简单的方法是使用onclick=,然后使用name_of_function((;

例如:

<div class="form-group RunningSQLScripts">
<label for="inputStatus">Running My Scripts</label>
<select id="inputStatus" name="RunningSQLScripts" class="form-control">
<option selected disabled>--</option>
<option onclick="RunScript1()">Delete Whole Table</option>
<option onclick="RunScript2()">Run Script 3</option>

</select>
</div>

然后根据函数的名称。创建适当的函数以在单击时运行。

您可以将表单提交到服务器并执行所需的请求。

<?php
$db = new mysqli('localhost', 'db_user', '1234', 'db_name');
if($db->connect_errno)die('Error: '.$db->connect_error);
?>
<form name="runSQL" method="get">
<div class="form-group RunningSQLScripts">
<label for="inputStatus">Running My Scripts</label>
<select id="inputStatus" name="RunningSQLScripts" class="form-control">
<option selected disabled>--</option>
<option value="RunScript1">Delete Whole Table</option>
<option value="RunScript2">Run Script 3</option>                   
</select>
<input type="submit" value="Run">
</div>
</form>
<?php
$runSQL = $_GET['RunningSQLScripts'];

switch($runSQL){
case 'RunScript1':
$db->query("truncate table `name`");
echo '* Successfully deleted *';
break;

case 'RunScript2':
$db->query("SQL");
echo '* Successfully run *';
break;
}
?>

最简单的方法:充分工作,只需添加onchange='this.form.submit((;'

<form id="companyForm" name="companyForm" class="form-horizontal" type=get>

<div class="form-group RunningSQLScripts">
<label for="inputStatus">Running My Scripts</label>
<select id="inputStatus" name="RunningSQLScripts" onchange='this.form.submit();' class="form-control">
<option selected disabled>--</option>
<option value="RunScript1">Delete Whole Table</option>
<option value="RunScript2">Run Script 3</option>

</select>
</div>
</form>

<?php
$RunningSQLScripts = $_GET['RunningSQLScripts'];
$con = mysqli_connect('host','username','password','db');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"db");
if ($RunningSQLScripts == "RunScript1") 
{
$sql="truncate TABLE `table_name1`;";  // truncate table table_name1
$result = mysqli_query($con,$sql);
}
mysqli_close($con);
?>

最新更新