获取多列mysql表并回显每一行

时间:2014-06-21 04:47:21

标签: php mysql

我有这个php / html代码,它从名为“ticket”的mysql表中回显一列。 这些是表中的3列(member_id,ticket_id,ticket_result)。

我希望能够从特定行中的其他列中获取信息,并使用foreach循环回显该信息。我只是不知道我怎么能这样做,因为你在foreach循环中只能有1个数组,所以如果我要将这一行添加到PHP代码中,我看不出我怎么能在它中回应它foreach循环。

 $me3 = array(); 
$me2[] = $row->ticket_result;

PHP代码:

 public function tickets() { 
    $this->db_connection = new mysqli('', '', '', ''); 

    $sql = "SELECT ticket_result 
            FROM tickets 
            WHERE member_id = '1'"; 
    $query = $this->db_connection->query($sql); 

    $me2 = array(); 
    while ($row = $query->fetch_object()) { 
        $me2[] = $row->ticket_result;     
    } 
    return $me2; 
  } 
}  

HTML代码:

<?php $me2 = $classLogin->tickets(); ?> 
       <?php foreach($me2 as $value) { ?> 
     <table> 
<thead> 
<th>Result</th> 
<th>ID</th>
</thead> 

<tr> 

<td><?php echo $value; ?> </td> 
<td>  </td>
<?php } ?> 
</tr> 

</table>

1 个答案:

答案 0 :(得分:3)

您只选择表格的一列:

$sql = "SELECT ticket_result FROM tickets WHERE member_id = '1'"; 

您的陈述应如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 

或者:

$sql = "SELECT * FROM tickets WHERE member_id = '1'"; 

然后您可以使用以下方法检索您的数据:

while ($row = $query->fetch_object()) { 
    $me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
    $me2[$row->ticket_id]['member_id'] = $row->member_id;
} 

因此,根据您的$me2,您将拥有一个包含密钥的数组(ticked_id),每个密钥都是一个包含密钥ticket_result和{{1}的数组其中包含数据库中的数据。

然后您可以像这样实施member_id

foreach

另外,如果您要打印的HTML不是那么多,我建议您最好使用foreach($me2 as $key => $value) { echo $key; echo $value['ticket_result']; echo $value['member_id']; } 连接一个带有单个echo子句的字符串,而不是<为你必须执行的每个小PHP代码打开和关闭多个php标签,你的代码将如下所示:

php