从数组中检索数据

时间:2014-03-16 10:12:44

标签: php html mysql arrays

我有一个小问题,我的代码存储了值并且可以照常运行,但是当我想再次显示它时,该值将不会显示,错误是:

  

注意:未定义的变量:第91行的C:\ xampp \ htdocs \ eAttendance \ *******。*** php中的result_c

这是:

<td><?php echo $GLOBALS['result_c'] ?></td>

我的问题是:

  1. 为什么我不能在$result_c内回调我的变量?
  2. 我该怎么办?你有什么想法吗?
  3. 使编码成功的合适方法是什么?
  4. 我制作了这段代码是因为我想计算存储在$result_c内的数组中的所有值,以便成为平均出席率。

    <table >
    <tr>
     <td>Matrix Card</td>
        <td>Percent</td>
     </tr>
     <?php
    $sbj = $_GET['sbj'];
    $cls = $_GET['cls'];
      $sql = mysql_query ("SELECT * FROM stu_course where class = '$cls' and subject_code = '$sbj'");
      $a = 0;
    
      while ($row = mysql_fetch_assoc($sql)){ 
           ?>
          <tr>
              <?php
        $result1[] = $row['login_id'];
    
        $sql1 = mysql_query("Select * from attendance where id_student = '$result1[$a]' and subject_code = '$sbj'") or die('Query failed. ' . mysql_error());
        $b = 0;
        while($row1 = mysql_fetch_assoc($sql1))
        {
            $popo = 1;
            $result_array[] = $row1['credit_hour'];
            $add = $result_array[$b];
            $result_c = $result_c + $add;
        }?>
          <td><?php echo $result1[$a];?></td>
         <td><?php echo $GLOBALS['result_c'] ?></td>
       <?php             
        $a++;      
      }
      ?>
      </tr>
    </table>
    

3 个答案:

答案 0 :(得分:1)

而不是<?php echo $GLOBALS['result_c'] ?>为什么不能输出<?php echo $result_c ?>?或者我没有正确理解。

答案 1 :(得分:0)

我也会使用预备语句。这是一个例子: http://forums.phpfreaks.com/topic/285929-pdo-in-a-php-class/#entry1467894

您似乎正在将数据从客户端直接注入到数据库调用中,让您完全受到攻击!

答案 2 :(得分:0)

尝试在while循环之外声明$result_c,这样您就不必使用$GLOBALS来处理您所拥有的变量范围问题。此外,不建议使用$ GLOBALS。

额外建议:我建议您使用命名约定,以便我们更轻松地理解您的代码。