1

しようとしていselect hora from entradas where data ='some date';ます。

テーブルentradas

+------------+----------+
| | データ | ホラ |
+------------+----------+
| | 2012-09-27 | 07:59:11 |
| | 2012-09-27 | 16:03:27 |
| | 2012-09-28 | 16:03:35 |
| | 2012-09-29 | 09:29:16 |
| | 2012-09-29 | 09:43:05 |
| | 2012-09-29 | 09:43:14 |
| | 2012-10-01 | 08:03:10 |
+------------+----------+

私はmysqlでそれを行うことができます:

+---------+
| | ホラ |
+---------+
| | 09:29:16 |
| | 09:43:05 |
| | 09:43:14 |
+---------+

しかし、PHPで試してみると:

$consulta_data = mysql_query("
  select hora from entradas where data = '2012-09-29';
") or die(mysql_error());

while($row = mysql_fetch_array($consulta_data))
{
  echo $row[0];
}

3行が1行になり、結果が得られます09:29:1609:43:0509:43:14

以下のように、結果セットを HTML のテーブルとして出力するにはどうすればよいですか。

行[0]=09:29:16
行[1]=09:43:05
行[2]=09:43:14
4

5 に答える 5

1

obsolete の代わりにPDO (チュートリアル) の使用を検討する必要がありますmysql_

$dbh = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$result = array();

$stmt = $db->prepare("SELECT hora FROM entradas WHERE data = ?");
$stmt->setFetchMode( PDO::FETCH_NUM);
$stmt->execute('2012-09-29');
foreach($sth as $row) {
   $result[] = $row[0];
}
return $result;

または、html として使用する場合は、foreach ループを次のように置き換えます。

echo '<table><tbody>';
foreach( $sth as $row){
    echo '<tr><td>' . htmlspecialchars( $row[0]) . '</td></tr>';
}
echo '</tbody></table>';
于 2012-10-15T10:07:26.743 に答える
0
while($row = mysql_fetch_array($consulta_data))
    {
        $response[] = $row[0];
    }

次に、$responseに必要なものが含まれている必要があります

于 2012-10-15T09:55:00.973 に答える
0
<?php
$result = array();

$consulta_data = mysql_query("select hora from entradas where data = '2012-09-29';") or die(mysql_error());

while($row = mysql_fetch_array($consulta_data)) {
    $result[] = $row[0];
}
?>

<table border="1">
    <thead>
        <tr>
            <td>Hora</td>
        </tr>
    </thead>
    <tbody>
        <?php foreach($result as $hora): ?>
            <tr><td><?php echo $hora; ?></td></tr>
        <?php endforeach; ?>
    </tbody>
</table>
于 2012-10-15T10:42:50.367 に答える
0

あなたの質問が正しく理解できたかどうかはわかりません。

echo $row[0] . '<br>';

出力を分離する必要がありましたか?間違っている場合は、コードを変更するようお知らせください。

あなたはまさにこの形式でそれをしたいですか?私row[0]も正確に意味しますか?

row[0]=09:29:16

それから:

$i = 0;

while($row = mysql_fetch_array($consulta_data))
{
    echo 'row[' . $i . '] = ' . $row[0] . '<br>';
    $i++;
}
于 2012-10-15T10:23:30.587 に答える
0

これを試してみましょう。

$consulta_data = mysql_query("
  select hora from entradas where data = '2012-09-29';
") or die(mysql_error());
$i=0;
while($row = mysql_fetch_array($consulta_data))
{
  echo "row[0] = ".$row[0]."<br />";
  $i++;
}
于 2012-10-15T10:32:11.373 に答える