繁体   English   中英

从mysql检索数据并相应地更新它们

[英]Retrieve data from mysql and update them accordingly

我想从我的MySQL数据库中检索数据并将其显示为表格(我不介意任何样式,但首选作为表格使用)。 然后,应该使用单选按钮或常规按钮显示数据,以更新该特定行并将该行中的单个列更改为有效(使状态变为有效)。

我已经开始了,但是添加单选按钮或按钮仍然有问题。 然后,我想到了在表格内的表格中显示信息。 当人员选择该单选按钮并按Submit时,此表单将具有每个单选按钮。 数据应在MySQL数据库中更新。

有人可以指导我吗? 我有点困惑。 我很困惑,因为我必须添加一个表单,并且必须在该表单中添加一个表,所有这些东西都应该在php文件中。

在formpost.php页面上,您可以执行以下操作来处理从上一页收到的列表数组:

<?
$list = $_POST['list'];

foreach ($list as $key => $list_php) 
{
$query1 = "SELECT * FROM `stu_entry` WHERE `stu_entry`.`Student_No` = '$list_php' AND `stu_entry`.`Out_Time` = '0000-00-00 00:00:00'";
$result1 = mysql_query($query1);
$row1=mysql_fetch_array($result1);


//whatever you want to do

}
?>

我忘了在上一篇文章中告诉您一些事情。 在表单页面中,假设您有100行,其中包含100个复选框。 手动检查或取消所有检查都是很讨厌的。 或者,您可以在页面末尾添加一个小脚本来为您处理检查/取消检查过程:

<script>
function checkAll(field)
{
for (i = 0; i < field.length; i++)
    field[i].checked = true ;
}

function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
    field[i].checked = false ;
}

function countChecks(form){
var t=0;
var c=form['list[]'];
for(var i=0;i<c.length;i++){
c[i].checked?t++:null;
}
return t;
}

</script>

<input type="button" name="CheckAll" value="Check All"
onClick="checkAll(document.formpost['list[]'])">
<input type="button" name="UnCheckAll" value="Uncheck All"
onClick="uncheckAll(document.formpost['list[]'])">

<i>with selected: </i>

<select name="submit_mult" id="submit_mult">
    <option value="todo1">Action 1 </option>
    <option value="todo2">Action 2 </option>
    </select>
<input type="button" name="go" value="Go" onClick='if(countChecks(this.form)>0) {if(confirm("are you sure you want to \""+document.getElementById("submit_mult").options[document.getElementById("submit_mult").selectedIndex].text+" "+countChecks(this.form)+" items selected"+"\"")) {document.getElementById("referenceToSomeHiddenElement").value=document.getElementById("submit_mult").options[document.getElementById("submit_mult").selectedIndex].value;document.getElementById("formpost").submit();}} else alert("you have not selected any item!!")' >

告诉我您是否需要更多帮助。

我首先指定一个MySQL命令,该命令反过来给我一个数组。 我使用while语句对数组中的每个项目执行操作。 该数组将填充字段名称和字段内容。

$mysql = mysql_query("SELECT * FROM table");
while ($array = mysql_fetch_array($mysql))
{
  $output .= '<form>Row: ' . $array['fieldname'] . ' <input type="button" value="Update" /></form>';
}

这将从表中提取所有行,并为每个结果向变量$ output添加一个表单。 我不确定您要如何更新数据库,因此您将不得不对其进行研究。 您可以使用GET和POST方法。

继续尝试这样的事情。 并告诉我是否可行:

<p><b>your page name</b></p>
<form name="formpost" id="formpost" action="formpost.php" method="POST">
<table border="2" cellpadding="5" cellspacing="1" style="border-collapse: collapse" bordercolor="#999999" width="800">
  <tr>
    <td><b>Sno.</b></td>
    <td><b>Field name1</b></td>
    <td><b>Field name2</b></td>
    <td><b>Field name3</b></td>
    <td><b>Field name4</b></td>
    <td><b>Field name5</b></td>
    <td><b>Field name6</b></td>
    <td><b>Field name7</b></td>
  </tr>

  <?
  $sorting="";
  if($orderby!="" && $direction!="")  $sorting=" ORDER BY $orderby $direction";    
  $query = "SELECT * FROM table WHERE something = 'something' $sorting";  
  $result = mysql_query($query);
  ?>
  <tr>
  <?
  $i=0;
  while ($row = mysql_fetch_array($result)) 
  {
  $i++;

  ?>
  <td><input type="checkbox" name="list[<?echo $i?>]" id="list[]" value="<?echo $row['some_primary_field_id']?>"><?echo $i?></td>
  <td><?echo $row['Field1']?></td>
  <td><?echo $row['Field2']?></td>
  <td><?echo $row['Field3']?></td>    
  <td><?echo $row['Field4']?></td>
  <td><?echo $row['Field5']?></td>
  <td><?echo $row['Field6']?></td>
  <td><p align="center">

  <?  
  echo "<input title='button' name='change this row' value='Some Button' type='button' onClick=\"if(confirm('Press OK to change status to confirm')) {document.getElementById('someid').value='".$row['Field1']."';document.getElementById('formpost').submit();}\"/>";
  ?>
  </td>
  </tr>
<input type='hidden' name="hiddenlist[<?echo $i?>]" id="hiddenlist[]" value="<?echo "some boundry condition ".$row['Field2']?>">

<?
} //end of while
?>
</table>
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM