在PHP MYSQL中处理三个while循环

时间:2014-02-19 05:24:56

标签: php mysql loops while-loop

我是PHP的新手并且使用了while循环。请点亮这里。

我显示了与图书与作者和isbn编号相关的一些信息。

有两个表:书和作者。书名和ISBN号来自书籍表。作者姓名来自作者表。

这是我糟糕的PHP代码(请不要笑)

<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$result1 = mysql_query("SELECT book_name FROM book where status='1'")  or die(mysql_error());  
$result2 = mysql_query("SELECT FName FROM author")  or die(mysql_error());  
$result3 = mysql_query("SELECT book_isbn_number FROM book where status='1'")  or die(mysql_error());  
?>

<table style="margin-top:40px" border="1" width="100%">
    <tr style="background-color:#909F51">
        <td>Book List</td>

        <?php  while($row1 = mysql_fetch_array( $result1 )) {   ?>
        <td><?php echo $row1['book_name']; ?></td>
        <?php } ?>
    </tr>

<?php  while($row2 = mysql_fetch_array( $result2 )) {   ?>
    <tr>
        <td><?php echo $row2['author_name']; ?></td>

        <?php  while($row3 = mysql_fetch_array( $result3 )) {   ?>
            <td><?php echo $row3['book_isbn_number']; ?></td>
        <?php } ?>
    </tr>
<?php } ?>

</table>

我无法在第三个条件下循环。我知道基本的代码结构是错误的。 有人可以帮助我获得结果。

表:

B_ID

BOOK_NAME

ISBN_NUMBER

状态

作者

A_ID

AUTHOR_NAME

预期产出:

<table width="100%" border="1">
    <tr>
      <td></td>
      <td>Author Name 1</td>
      <td>Author Name 2</td>
    </tr>
    <tr>
      <td>Book Name 1</td>
      <td>ISBN Number 1</td>
      <td>ISBN Number 2</td>
    </tr>
    <tr>
      <td>Book Name 2</td>
      <td>ISBN Number 3</td>
      <td>ISBN Number 4</td>
    </tr>
  </table>

3 个答案:

答案 0 :(得分:1)

当您选择的列是“book_isbn_number”时,您正在使用$row3['isbn_number']。尝试将该行更改为<td><?php echo $row3['book_isbn_number']; ?></td>。在使用旧的,已弃用的mysql_ *函数时,循环本身应该可以正常工作。

答案 1 :(得分:0)

<td><?php echo $row3['isbn_number']; ?></td>

替换为

<td><?php echo $row3['book_isbn_number']; ?></td>

答案 2 :(得分:0)

 $result3 = mysql_query("SELECT book_isbn_number FROM book where status='1'")  or die(mysql_error());  

$result3 = mysql_query("SELECT isbn_number FROM book where status='1'")  or die(mysql_error());** 

 <td><?php echo $row3['isbn_number']; ?></td>

<td><?php echo $row3['book_isbn_number']; ?></td>

无论哪个符合您的需求