Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取mysql表的多列并回显每一行_Php_Mysql - Fatal编程技术网

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

Php 获取mysql表的多列并回显每一行,php,mysql,Php,Mysql,我有这段php/html代码,它回显mysql表中名为“tickets”的列。 这是表中的3列(成员id、票证id、票证结果) 我希望能够从特定行中的其他列中获取信息,并使用foreach循环进行响应。我只是不知道如何才能做到这一点,因为foreach循环中只能有1个数组,所以如果我要将这一行添加到PHP代码中,我不知道如何在foreach循环中回显它 $me3 = array(); $me2[] = $row->ticket_result; PHP代码: public funct

我有这段php/html代码,它回显mysql表中名为“tickets”的列。 这是表中的3列(成员id、票证id、票证结果)

我希望能够从特定行中的其他列中获取信息,并使用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>

结果
身份证件

您只选择了表中的一列:

$sql = "SELECT ticket_result FROM tickets WHERE member_id = '1'"; 
您的声明应如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
或:

然后,您可以通过以下方式检索数据:

while ($row = $query->fetch_object()) { 
    $me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
    $me2[$row->ticket_id]['member_id'] = $row->member_id;
} 
因此,您将拥有一个数组(
$me2
),该数组包含根据您的
ticketd\u id
s生成的键,每个键都是一个数组,其中包含来自数据库的数据的键
ticket\u result
member\u id

然后您可以像这样实现您的
foreach

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
另外,如果您必须打印的HTML没有那么多,我建议您最好使用
echo
并将字符串与单个
php
子句连接起来,而不是为您必须执行的每一个小php代码打开和关闭多个
php
标记,您的代码如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>

您只选择了表中的一列:

$sql = "SELECT ticket_result FROM tickets WHERE member_id = '1'"; 
您的声明应如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
或:

然后,您可以通过以下方式检索数据:

while ($row = $query->fetch_object()) { 
    $me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
    $me2[$row->ticket_id]['member_id'] = $row->member_id;
} 
因此,您将拥有一个数组(
$me2
),该数组包含根据您的
ticketd\u id
s生成的键,每个键都是一个数组,其中包含来自数据库的数据的键
ticket\u result
member\u id

然后您可以像这样实现您的
foreach

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
另外,如果您必须打印的HTML没有那么多,我建议您最好使用
echo
并将字符串与单个
php
子句连接起来,而不是为您必须执行的每一个小php代码打开和关闭多个
php
标记,您的代码如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>

您只选择了表中的一列:

$sql = "SELECT ticket_result FROM tickets WHERE member_id = '1'"; 
您的声明应如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
或:

然后,您可以通过以下方式检索数据:

while ($row = $query->fetch_object()) { 
    $me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
    $me2[$row->ticket_id]['member_id'] = $row->member_id;
} 
因此,您将拥有一个数组(
$me2
),该数组包含根据您的
ticketd\u id
s生成的键,每个键都是一个数组,其中包含来自数据库的数据的键
ticket\u result
member\u id

然后您可以像这样实现您的
foreach

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
另外,如果您必须打印的HTML没有那么多,我建议您最好使用
echo
并将字符串与单个
php
子句连接起来,而不是为您必须执行的每一个小php代码打开和关闭多个
php
标记,您的代码如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>

您只选择了表中的一列:

$sql = "SELECT ticket_result FROM tickets WHERE member_id = '1'"; 
您的声明应如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
或:

然后,您可以通过以下方式检索数据:

while ($row = $query->fetch_object()) { 
    $me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
    $me2[$row->ticket_id]['member_id'] = $row->member_id;
} 
因此,您将拥有一个数组(
$me2
),该数组包含根据您的
ticketd\u id
s生成的键,每个键都是一个数组,其中包含来自数据库的数据的键
ticket\u result
member\u id

然后您可以像这样实现您的
foreach

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>
另外,如果您必须打印的HTML没有那么多,我建议您最好使用
echo
并将字符串与单个
php
子句连接起来,而不是为您必须执行的每一个小php代码打开和关闭多个
php
标记,您的代码如下所示:

$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'"; 
foreach($me2 as $key => $value) {
    echo $key;
    echo $value['ticket_result'];
    echo $value['member_id'];
}
<?php
    $me2 = $classLogin->tickets();
    echo
        '<table>
            <thead>
                <th>Result</th>
                <th>ID</th>
            </thead>';
    foreach($me2 as $key => $value) {
        echo
            '<tr>
                <td>'.$value['ticket_result'].'</td>
                <td>'.$value['member_id'].'</td>
            </tr>';
    }
    echo '</table>';
?>


我真的不明白你的问题是什么?选择查询中的其他两列,然后
$me2[]=$row->ticket\u id等应该可以做到这一点。不过,您可能需要使用
fetch\u assoc()
。试试看。在您的查询->`$sql=“选择成员id、票证id、票证结果…”和php->
$me2[]=array('member\u id'=>$row->member\u id,'ticket\u id'=>$row->ticket\u id,'ticket\u result'=>$row->ticket\u result')
?这是一个新手错误,忘记将其他两列添加到查询中。我真的不明白你的问题是什么?选择查询中的其他两列,然后
$me2[]=$row->ticket\u id;
等。应该这样做。不过,你可能需要使用
fetch\u assoc()
试试看。在你的查询中,“$sql=”选择成员id、票证id、票证结果…`并在php->
$me2[]=数组中('member\u id'=>$row->member\u id,'ticket\u id'=>$row->ticket\u id,'ticket\u result'=>$row->ticket\u result')?这是一个新手错误,忘记将其他两列添加到查询中。我真的不明白你的问题是什么?选择查询中的其他两列,然后
$me2[]=$row->ticket\u id等应该可以做到这一点。不过,您可能需要使用
fetch\u assoc()
。试试看。在您的查询->`$sql=“选择成员id、票证id、票证结果…”和php->
$me2[]=array('member\u id'=>$row->member\u id,'ticket\u id'=>$row->ticket\u id,'ticket\u result'=>$row->ticket\u result')
?这是一个新手错误,忘记将其他两列添加到查询中。我真的不明白你的问题是什么?选择查询中的其他两列,然后
$me2[]=$row->ticket\u id;
等。应该这样做。不过,你可能需要使用
fetch\u assoc()
试试看。在你的查询中,“$sql=”选择成员id、票证id、票证结果…`并在php->
$me2[]=数组中('member\u id'=>$row->member\u id,'ticket\u id'=>$row->ticket\u id,'ticket\u result'=>$row->ticket\u result')?这是一个新手错误,忘记将其他两列添加到查询中。我昨晚使用了上面的代码,它工作正常。我在玩