让ComboBox变量存储在MySQL中
问题描述:
我有一个html页面,它从'hs_hr_employee'表中获取数据并在网页上的表中放置信息。然后我有另一个表“权利”,它从'hs_hr_employee'表的4列中获取信息并将它们存储在列中。除了这4个之外,'权限'表还有一个额外的'权限'列。让ComboBox变量存储在MySQL中
现在,我有一个有4个选项的组合框。当我点击“保存”按钮时,我想将选择的值存储在组合框中,并将其保存在与用户相关的“权限”表中。
(每个用户在它旁边都有一个组合框)。
更新代码:
<?php
$connection = mysql_connect('localhost','admin','root');
if(isset($_POST['submit']))
{
if(isset($_POST['cb_permissions']) && is_array($_POST['cb_permissions']))
{
foreach($_POST['cb_permissions'] as $emp_number => $permission)
{
$sql = "UPDATE `your_permission_table` SET permission='".mysql_real_escape_string($permission)."' WHERE emp_number='".mysql_real_escape_string($emp_number)."'";
echo __LINE__.": sql: {$sql}\n";
mysql_query($sql);
}
}
}
?>
<p style="text-align: center;">
<span style="font-size:36px;"><strong><span style="font-family: trebuchet ms,helvetica,sans-serif;"><span style="color: rgb(0, 128, 128);">File Database - Administration Panel</span></span></strong></span></p>
<p style="text-align: center;">
</p>
<head>
<style type="text/css">
table, td, th
{
border:1px solid #666;
font-style:Calibri;
}
th
{
background-color:#666;
color:white;
font-style:Calibri;
}
</style>
</head>
<form method="post" action="admin.php">
<?php
if (!$connection)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('users', $connection);
$result = mysql_query("SELECT emp_number, employee_id, emp_lastname, emp_firstname FROM hs_hr_employee");
echo "<center>";
echo "<table >
<tr>
<th>Employee Number</th>
<th>Employee ID</th>
<th>Surname</th>
<th>Name</th>
<th>Permissions</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['emp_number'] . "</td>";
echo "<td>" . $row['employee_id'] . "</td>";
echo "<td>" . $row['emp_lastname'] . "</td>";
echo "<td>" . $row['emp_firstname'] . "</td>";
echo "<td> <select name='cb_permissions['".$row['emp_number']."'><option value='all'>All</option> <option value='remote'>Remote Gaming</option> <option value='landbased'>Landbased Gaming</option> <option value='general'>General Gaming</option> </select> </td>";
echo "</tr>" ;
}
echo "</table>";
echo "</center>";
echo mysql_query('INSERT into rights(Emp_num, ID, Name, Surname) SELECT emp_number, employee_id, emp_firstname, emp_lastname FROM hs_hr_employee');
$_POST['cb_permissions'];
mysql_close($connection);
?>
<p style="text-align: center;">
</p>
<p style="text-align: center;">
</p>
<p style="text-align: right;">
<input name="Save_Btn" type="button" value="Save" />
</p>
</form>
我如何能做到这一点任何帮助吗?
截图得到什么,我正在做一个基本思想:
答
首先,你应该在你的文档的最顶端移动连接代码:
$connection = mysql_connect('localhost','admin','root');
if (!$connection)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('users', $connection);
接下来,必须包装内标签的表:
<form method="post" action="target_url.php>
<table>
...
</table>
<input type="submit" name="submit" value="Save"/>
</form>
之后,你将存储employee_id
或emp_number
(这取决于表密钥将用于安装许可)表单上的某处:
while($row = mysql_fetch_array($result))
{
?>
<tr>
<td><?php echo $row['emp_number']; ?></td>
<td><?php echo $row['employee_id']; ?></td>
<td><?php echo $row['emp_lastname']; ?></td>
<td><?php echo $row['emp_firstname']; ?></td>
<td><select name="cb_permissions['<?php echo $row['emp_number']; ?>']">
<option value='all'>All</option>
<option value='remote'>Remote Gaming</option>
<option value='landbased'>Landbased Gaming</option>
<option value='general'>General Gaming</option>
</select></td>
</tr>
<?php
}
然后,在你的target_url.php
,你将不得不做的事:
If
target_url.php
is the same as your form, then code below should be placed at the very top of your document.
<?php
if(isset($_POST['submit']))
{
if(isset($_POST['cb_permissions']) && is_array($_POST['cb_permissions']))
{
foreach($_POST['cb_permissions'] as $emp_number => $permission)
{
$sql = "UPDATE `your_permission_table` SET permission='".mysql_real_escape_string($permission)."' WHERE emp_number='".mysql_real_escape_string($emp_number)."'";
echo __LINE__.": sql: {$sql}\n";
mysql_query($sql);
}
}
}
?>
这就是它。
答
我建议:
- 使用require_once( “db_connect.php”)< - 在这个文件使连接
- 使用Smarty的& html_options显示此下拉。
1次你会学习这个,下次使用。代码将开始组织... 也许复杂的初学者。但这是正确的方式。
我在第68行得到这个错误:'echo'“;' – Brian
错误:'解析错误:语法错误,意外的T_ENCAPSED_AND_WHITESPACE,期望T_STRING或T_VARIABLE或T_NUM_STRING在第68行的C:\ xampp \ htdocs \ admin.php上。 – Brian
应该是: “”; – ariefbayu