2017-11-18 100 views
0

我有一些PHP代码可以设置数据库中的变量。我会解释,请让我知道,如果它没有意义。从数据库中回应变量

所以,我有一个查询,从表中选择*如果class = '$class'。这一切工作,我得到它的工作。

我然后设置变量这样$id = $row["id"];,所有的作品,在我的HTML代码中,我有<p><?php echo $id?></p>,如果他们的class = $class它会显示它,但是,如果它不符合变量没有设置这些要求,所以我得到错误Notice: Undefined variable: id in C:\wamp64\www\studentplanner\account\homework.php on line 73

我想要做的只是在满足要求时才输出HTML格式的结果。

不知道这是否合理!前while循环,然后使用该变量

$sql = "SELECT * FROM homework WHERE class = '$class'"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 
     $id = $row["id"]; 
     $teacher_set = $row["teacher_set"]; 
     $class = $row["class"]; 
     $name = $row["name"]; 
     $description = $row["description"]; 

    } 
} 


      <p><?php echo $id?></p> 
      <p><?php echo $teacher_set?></p> 
      <p><?php echo $class?></p> 
      <p><?php echo $name?></p> 
      <p><?php echo $description?></p> 
+0

您需要向我们展示了实际的代码。 –

+0

[PHP:“注意:未定义的变量”,“注意:未定义的索引”和“注意:未定义的偏移量”的可能重复](https://stackoverflow.com/questions/4261133/php-notice-undefined-variable- notice-undefined-index-and-notice-undef) –

+0

不是@MagnusEriksson,它不是。 – Tom

回答

1

设置标志变量来决定是否对HTML打印数据而

$data_exist = false; 
if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    $data_exist = true; 
    while($row = mysqli_fetch_assoc($result)) { 
     $id = $row["id"]; 
     $teacher_set = $row["teacher_set"]; 
     $class = $row["class"]; 
     $name = $row["name"]; 
     $description = $row["description"]; 

    } 
} 


if($data_exist) 
{ 
?> 

      <p><?php echo $id?></p> 
      <p><?php echo $teacher_set?></p> 
      <p><?php echo $class?></p> 
      <p><?php echo $name?></p> 
      <p><?php echo $description?></p> 
<?php 
} 
?> 
+0

非常感谢你! – Tom

0
$sql = "SELECT * FROM homework WHERE class = '$class'"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
while($row = mysqli_fetch_assoc($result)) { 
?> 
    <p><?php echo $row["id"];?></p> 
    <p><?php echo $row["teacher_set"];?></p> 
    <p><?php echo $row["class"];?></p> 
    <p><?php echo $row["name"];?></p> 
    <p><?php echo $row["description"];?></p> 
<?php } } ?>