У меня есть две страницы php, admin_bkp.php и db_submit.php .
admin_bkp.php дает пользователю таблицучто позволяет пользователю устанавливать разрешения для сотрудников и сохранять разрешения для таблицы MySQL с именем rights .Информация о сотруднике собирается из hs_hr_employee и сохраняется в права tog ether с дополнительным столбцом «Разрешения».
Сначала это работало, вы могли сохранить данныеи когда вы обновляете страницу, admin_bkp.php показывает вам значение по умолчанию в выпадающих списках, которое вы выбрали ранее.
Однако теперь он возвращает значение по умолчанию как 'All' , что мне не нужно.Я хочу, чтобы он отображал выбранное значение ранее.
admin_php.bkp сохраняет значения при нажатии кнопки 'Сохранить'
Thisэто код: admin_bkp.php
<?php
$connection = mysql_connect('localhost','admin','root');
if( isset($_POST['submit']) )
{
if( isset( $_POST['cb_change'] ) && is_array( $_POST['cb_change'] ))
{
foreach( $_POST['cb_change'] as $emp_number => $permission)
{
echo "$permission";
$sql = "UPDATE `rights` 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">
/*
http://icant.co.uk/csstablegallery/index.php?css=71
Data Tables and Cascading Style Sheets Gallery
Title: Casablanca
Author: RODrigo CASTilho Galv?o Ferreira - RODCAST
URL: http://www.rodcast.com.br
Update: 04/04/2008 10:51 AM
*/
body{
background: url('bg.gif');
}
table {
color: #666;
font: 0.8em/1.6em "Trebuchet MS",Verdana,sans-serif;
border-collapse: collapse;
background: #fff;
}
table,caption {
margin: 0 auto;
border-right: 0px solid #CCC;
border-left: 0px solid #CCC;
}
caption,th,td {
border-left: 0;
padding: 10px;
}
caption,thead th,tfoot th,tfoot td {
background-color: #216dab;
color: #FFF;
font-weight: bold;
text-transform: uppercase
}
thead th {
background-color: #666;
color: #fff;
text-align: center
}
tbody th {
padding: 20px 10px
}
tbody tr.odd {
background-color: #F7F7F7;
color: #666;
}
tbody a {
padding: 1px 2px;
color: #fff;
text-decoration: none;
border-bottom: 1px dotted #E63C1E;
background: #7bafd9;
}
tbody a:active,tbody a:hover,tbody a:focus,tbody a:visited {
color: #fff;
}
tbody tr:hover {
background-color: #EEE;
color: #333
}
tbody tr:hover a {
/*background-color: #FFF*/
color:fff;
}
tbody td+td+td+td a {
color: #fff;
font-weight: bold;
border-bottom: 0;
}
tbody td+td+td+td a:active,tbody td+td+td+td a:hover,tbody td+td+td+td a:focus,tbody td+td+td+td a:visited {
color: #fff
}
tbody td a[href="http://www.rodcast.com.br/"] {
margin: 0 auto;
display: block;
width: 15px;
height: 15px;
background: transparent url('data:image/gif;base64,R0lGODlhDwAPAIAAACEpMf///yH5BAAAAAAALAAAAAAPAA8AAAIjjA8Qer0JmYvULUOlxXEjaEndliUeA56c97TqSD5pfJnhNxYAOw%3D%3D') no-repeat;
text-indent: -999em;
border-bottom: 0;
}
tbody a:visited:after {
font-family: Verdana,sans-serif;
content: "\00A0\221A"
}
</style>
</head>
<form method="post" action="db_submit.php">
<?php
if (!$connection)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('users', $connection);
#mysql_query('INSERT into rights(Emp_num, ID, Name, Surname) SELECT emp_number, employee_id, emp_firstname, emp_lastname FROM hs_hr_employee');
$result = mysql_query("SELECT emp_number, employee_id, emp_firstname, emp_lastname, Permissions FROM rights");
mysql_query("INSERT INTO rights (emp_number, employee_id, emp_firstname, emp_lastname)
SELECT emp_number, employee_id, emp_firstname, emp_lastname
FROM hs_hr_employee
ON DUPLICATE KEY UPDATE employee_id = VALUES(employee_id), emp_number = VALUES(emp_number)
");
$duplicates = mysql_query("SELECT emp_number, employee_id, emp_firstname, emp_lastname, count(*) FROM rights GROUP BY emp_number, employee_id, emp_firstname, emp_lastname having count(*) > 1");
$count = mysql_num_rows($duplicates);
if ($count > 0) {
while ($row = mysql_fetch_assoc($duplicates)) {
$field = $row["emp_number"];
$limit = $row["count(*)"] - 1;
mysql_query("DELETE FROM rights WHERE emp_number='$field' LIMIT $limit");
}
mysql_free_result($duplicates);
}
echo "<center>";
/*
echo "
<table >
<tr>
<th>Employee Number</th>
<th>ID</th>
<th>Name</th>
<th>Surname</th>
<th>Permissions</th>
<th>Change</th>
</tr>"; */
echo "
<table >
<tr>
<th>Employee Number</th>
<th>ID</th>
<th>Name</th>
<th>Surname</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_firstname'] . "</td>";
echo "<td>" . $row['emp_lastname'] . "</td>";
#echo "<td>" . $row['Permissions'] . "</td>";
echo "<td>
<select>
<option value='All'>All</option>
<option value='Remote Gaming' selected='selected'>Remote Gaming</option>
<option value='Landbased Gaming'>Landbased Gaming</option>
<option value='General Gaming'>General Gaming</option>
</select>
</td>
";
echo "</tr>" ;
echo "<input type='hidden' name='emp_id[]' value='". $row['employee_id'] ."'>";
}
$selected = $row['Permissions'];
$options = array(
"Remote Gaming",
"Landbased Gaming",
"General Gaming"
);
foreach ($options as $option){
if($option == $selected){
echo "<option value='$option' selected='selected'>$option</option>";
}else{
echo "<option value='$option'>$option</option>";
}
}
#echo "<td>" . $row['Change'] . "</td>";
echo "</table>
<p style='text-align: right;'>
<input name='Save_Btn' type='Submit' value='Save' />
</p>
</center>";
mysql_close($connection);
?>
<p style="text-align: center;">
</p>
<p style="text-align: center;">
</p>
</form>
db_submit.php:
<html>
<body>
<p>Data submitted successfully.</p>
<?php
$connection = mysql_connect('localhost','admin','root');
mysql_select_db('users', $connection);
$cbchange = $_POST['cb_change'];
$emp_id = $_POST['emp_id'];
foreach($cbchange as $a => $b){
echo $cbchange[$a] ." - ". $emp_id[$a];
echo "<br/>";
$query = "
UPDATE `rights`
SET `rights`.`Permissions`='".$cbchange[$a]."'
WHERE `rights`.`employee_id`='".$emp_id[$a]."'
";
mysql_query($query);
}
?>
</body>
</html>
Вот несколько изображений, чтобы дать вам общееИдея настройки.
Оригинальный код:
<?php
$connection = mysql_connect('localhost','admin','root');
if( isset($_POST['submit']) )
{
if( isset( $_POST['cb_change'] ) && is_array( $_POST['cb_change'] ))
{
foreach( $_POST['cb_change'] as $emp_number => $permission)
{
echo "$permission";
$sql = "UPDATE `rights` 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">
/*
http://icant.co.uk/csstablegallery/index.php?css=71
Data Tables and Cascading Style Sheets Gallery
Title: Casablanca
Author: RODrigo CASTilho Galv?o Ferreira - RODCAST
URL: http://www.rodcast.com.br
Update: 04/04/2008 10:51 AM
*/
body{
background: url('bg.gif');
}
table {
color: #666;
font: 0.8em/1.6em "Trebuchet MS",Verdana,sans-serif;
border-collapse: collapse;
background: #fff;
}
table,caption {
margin: 0 auto;
border-right: 0px solid #CCC;
border-left: 0px solid #CCC;
}
caption,th,td {
border-left: 0;
padding: 10px;
}
caption,thead th,tfoot th,tfoot td {
background-color: #216dab;
color: #FFF;
font-weight: bold;
text-transform: uppercase
}
thead th {
background-color: #666;
color: #fff;
text-align: center
}
tbody th {
padding: 20px 10px
}
tbody tr.odd {
background-color: #F7F7F7;
color: #666;
}
tbody a {
padding: 1px 2px;
color: #fff;
text-decoration: none;
border-bottom: 1px dotted #E63C1E;
background: #7bafd9;
}
tbody a:active,tbody a:hover,tbody a:focus,tbody a:visited {
color: #fff;
}
tbody tr:hover {
background-color: #EEE;
color: #333
}
tbody tr:hover a {
/*background-color: #FFF*/
color:fff;
}
tbody td+td+td+td a {
color: #fff;
font-weight: bold;
border-bottom: 0;
}
tbody td+td+td+td a:active,tbody td+td+td+td a:hover,tbody td+td+td+td a:focus,tbody td+td+td+td a:visited {
color: #fff
}
tbody td a[href="http://www.rodcast.com.br/"] {
margin: 0 auto;
display: block;
width: 15px;
height: 15px;
background: transparent url('data:image/gif;base64,R0lGODlhDwAPAIAAACEpMf///yH5BAAAAAAALAAAAAAPAA8AAAIjjA8Qer0JmYvULUOlxXEjaEndliUeA56c97TqSD5pfJnhNxYAOw%3D%3D') no-repeat;
text-indent: -999em;
border-bottom: 0;
}
tbody a:visited:after {
font-family: Verdana,sans-serif;
content: "\00A0\221A"
}
</style>
</head>
<form method="post" action="db_submit.php">
<?php
if (!$connection)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('users', $connection);
#mysql_query('INSERT into rights(Emp_num, ID, Name, Surname) SELECT emp_number, employee_id, emp_firstname, emp_lastname FROM hs_hr_employee');
$result = mysql_query("SELECT emp_number, employee_id, emp_firstname, emp_lastname, Permissions FROM rights");
mysql_query("INSERT INTO rights (emp_number, employee_id, emp_firstname, emp_lastname)
SELECT emp_number, employee_id, emp_firstname, emp_lastname
FROM hs_hr_employee
ON DUPLICATE KEY UPDATE employee_id = VALUES(employee_id), emp_number = VALUES(emp_number)
");
$duplicates = mysql_query("SELECT emp_number, employee_id, emp_firstname, emp_lastname, count(*) FROM rights GROUP BY emp_number, employee_id, emp_firstname, emp_lastname having count(*) > 1");
$count = mysql_num_rows($duplicates);
if ($count > 0) {
while ($row = mysql_fetch_assoc($duplicates)) {
$field = $row["emp_number"];
$limit = $row["count(*)"] - 1;
mysql_query("DELETE FROM rights WHERE emp_number='$field' LIMIT $limit");
}
mysql_free_result($duplicates);
}
echo "<center>";
/*
echo "
<table >
<tr>
<th>Employee Number</th>
<th>ID</th>
<th>Name</th>
<th>Surname</th>
<th>Permissions</th>
<th>Change</th>
</tr>"; */
echo "
<table >
<tr>
<th>Employee Number</th>
<th>ID</th>
<th>Name</th>
<th>Surname</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_firstname'] . "</td>";
echo "<td>" . $row['emp_lastname'] . "</td>";
#echo "<td>" . $row['Permissions'] . "</td>";
echo "<td> <select name='cb_change[]' SELECTED VALUE=".$row['Permissions'].">
<option value='All'>All</option>
<option value='Remote Gaming'>Remote Gaming</option>
<option value='Landbased Gaming'>Landbased Gaming</option>
<option value='General Gaming'>General Gaming</option>
</select> </td>";
echo "</tr>" ;
echo "<input type='hidden' name='emp_id[]' value='". $row['employee_id'] ."'>";
}
#echo "<td>" . $row['Change'] . "</td>";
echo "</table>
<p style='text-align: right;'>
<input name='Save_Btn' type='Submit' value='Save' />
</p>
</center>";
mysql_close($connection);
?>
<p style="text-align: center;">
</p>
<p style="text-align: center;">
</p>
</form>
Можете ли вы указать мне правильное направление