【问题标题】:take another table value for dropdown为下拉列表取另一个表值
【发布时间】:2016-03-07 21:02:33
【问题描述】:

我有一个段循环,可以显示来自表格学生的数据和一个额外的列,该列显示了从员工表ID中显示的下拉列表,然后选择该下拉列,该列会在学生表中更新ID。我有以下代码,但在显示时每行仅显示雇主表中的 1 个数据。

这是while循环。任何帮助将不胜感激,在此先感谢。

while(($row = mysql_fetch_array($search_result)) && ($row1 =mysql_fetch_array($search_result2))){
echo"<form action=manualallocation.php method=post>";
echo"<tr>";
echo "<td>" . $row['stud_ID']."</td>";
echo "<td>" . $row['stud_NAME']."</td>";
echo "<td>"."<Select name='ex1'>"."<option value='" .$row1['emp_id'] ."'>" .$row1['emp_id'] ."</option>"."</select>";
echo "<td>" . "<input type='char' name='emp_location' value='" .$row1['emp_location'] . "'/> </td>";
echo "<td>" . "<input type='char' name='stud_FIELDOFSTUDY' value='" .$row['stud_FIELDOFSTUDY'] . "'/> </td>";
echo "<td>" . "<input type='char' name='student_yearCompleted' value='" .$row['student_yearCompleted'] . "'/> </td>";
echo "<input type='hidden' name=hidden value=" . $row['stud_ID'] . ">";
echo "<td>" . "<input type='submit' name='submit' value=update". "></td>";
echo "</tr>";
echo "</form>";
}

【问题讨论】:

  • 写表单action='manualallocation.php'
  • 做到了,但什么也没发生......任何其他替代品
  • 检查我给你的所有链接。

标签: php html mysql web while-loop


【解决方案1】:

1)&amp;&amp; 替换为and。检查此link 以获取文档。

注意'and vs &amp;&amp;''|| vs or'之间的优先级差异:

<?php
$bool = true && false;
var_dump($bool); // false, that's expected

$bool = true and false;
var_dump($bool); // true, ouch!
?>

因为 'and/or' 的优先级低于 '=' 而 '||/&&' 的优先级更高

2) 在 while 循环 $row1$row2 中使用两个不同的变量。所以第一个变量不能覆盖第二个。

while(($row1 = mysql_fetch_array($search_result)) and ($row2 = mysql_fetch_array($search_result2)))

对于您的下拉菜单,请检查以下链接:-

Link1

Link2

警告

mysql_* 在 PHP 5.5.0 中被弃用,并在 PHP 中被移除 7.0.0。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。

希望对你有帮助:)

【讨论】:

  • 感谢它部分工作。对于下拉菜单,当我选择它并按更新时,我如何从雇主表中获取数据并在学生表中更新它?
  • @Oliver:不客气 :-) 我请求你作为一个新问题提出这个问题。
  • 当我复制粘贴代码并更改值时,每行仅从 emp_Name 的表雇主中获取 1 个值。它没有在每行的单个下拉列表中为我提供选项。知道为什么吗?这是提取的代码 echo "" 。 ""。 "";
【解决方案2】:
while(($row = mysql_fetch_array($search_result)) && ($row = mysql_fetch_array($search_result2))){

在这里你用第二个语句重写你的$row 变量。您应该使用不同的变量。

while(($row_stud = mysql_fetch_array($search_result)) && ($row_emp = mysql_fetch_array($search_result2))){

然后在处理 emp 数据时使用 $row_emp

$row_emp['emp_id']

和学生一起时 - $row_stud

$row_stud['stud_ID']    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多