0
$sql=mysql_query("SELECT * FROM feedback.subject WHERE branch='cse'");
$row = mysql_fetch_assoc($sql) or die("error : $sql" .mysql_error());
$data =array();
$n=mysql_num_rows($sql);
while($row = mysql_fetch_array($sql))
    {
$query_result_array[]=$row;
}

    for($i=0;$i<$n;$i++)
        {
            $subid=$query_result_array[$i]['subid'];
            $bt =$query_result_array[$i]['batch'];
            $y =$query_result_array[$i]['year'];
            $s = $query_result_array[$i]['semister'];
            $subname=$query_result_array[$i]['subname'];
            $tid = $query_result_array[$i]['tid'];
 $sql2=mysql_query("SELECT * FROM teacher WHERE teacher.tid='$tid'");
            $row2 =mysql_fetch_array($sql2);
            $tname= $row2['tname'];
echo "<table id='table'>";
echo "<tr>";
echo "<td>".$bt."</td>";
echo "<td>CSE</td>";
echo "<td>".$y."</td>";
echo "<td>".$s."</td>";
echo "<td style='width:150px'>".$subname."</td>";
echo "<td style='width:150px'>".$row2['tname']."</td>";
echo '<form methode="get">
      <input type="hidden" name="report">
      <input type="submit" value="report">
      </form>';
echo "</tr>";
echo "</table>";


}


function handler($x,$y){
            session_regenerate_id();
            $_SESSION['SUBID']=$x;
            $_SESSION['TID']=$y;
            echo '<a href="report.php" target="_blank">report</a>';
}
      if(isset($_GET["report'$i'"]))
       {
      handler($query_result_array[$i]['subid'], $query_result_array[$i]['tid']);
      unset ($_GET["report"]);
        }

}





this results a table like
BATCH | BRANCH | YEAR | SEMISTER | SUBJECT NAME | TEACHER NAME |     ACTION    |
-------------------------------------------------------------------------------
 9      CSE      4       1           DBMS         ABC           REPORT
 9      CSE      4       1           WT           XYZ           REPORT
-------------------------------------------------------------------------------

当我点击一行的报告时假设('ABC'老师)我想携带详细信息('ABC'和'DBMS')以进一步处理。但它总是带有循环中最后一个人的细节(这里是'XYZ'和'WT')。怎么得到?是否有任何替代过程通过我可以调用带有特定行详细信息的特定行的处理程序函数。

4

1 回答 1

0

只需遍历查询结果数组并在其中放置一个 if 来检测名称何时是您要查找的内容,此时,将当前 $query_result_array[$i] 获取到您想要进一步携带数据的 var 中并打破环形。

如果您按表中的位置获取,您甚至不需要循环,您只需执行 $specific_person_data = $query_result_array[$i]...

因此,这现在包含有关数据表中位置 $i 的人的所有数据。

链接更新:

每个人的数据可以通过这样的链接传递到另一个页面:

链接地址.php* ?var1=X&var2=Y&var3=Z... *

并在另一端使用 $_POST['var1']、$_POST['var2'] 等获取。

确保不要直接回显或返回数据,而是在每个帖子 var 上使用strip_tags进行安全预防。

另外这里是我关于敏感数据处理和一些基本安全主题的文章:

http://metaphorical-lab.com/blog/?p=443

于 2013-03-03T14:07:28.207 回答