2012-10-15 167 views
1

我正在尝试select hora from entradas where data ='some date';查询MySQL php

entradas

 
+------------+----------+ 
| data  | hora  | 
+------------+----------+ 
| 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:

 
+----------+ 
| hora  | 
+----------+ 
| 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行转中一个给我结果09:29:1609:43:0509:43:14

我如何输出的结果集,作为HTML中的表,如下:

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

回答

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

然后$响应应该包含要

+0

你好,我尝试它像你说的,让这种致命的错误:无法使用[]在阅读第80行的C:\ wamp \ www \ Controlo Entradas \ importar_BD.php – user1746620

+0

80行是什么?第80行中的 – nico

+0

是这个echo $ response []; – user1746620

1

您应该考虑使用PDOtutorial)是什么,而不是过时的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>'; 
+0

你好,再次尝试做什么是这样的我有一个mysql db与f_name | l_name | card_number |日期|时间。我想打印这个像html这样的f_name,u_name | card_number |日期| time1 | time2 |和更多的时间,如果在数据库相同的日期多次你是否认为我?有人可以帮助请 – user1746620

+0

嗨再次Vyktor有没有办法联系你发给你我想要做的全部?这样我可以更好地向你解释 – user1746620

+0

@ user1746620不,我不会再给你任何联系。我们不会为您编写代码。我提供了完整文档链接,教程链接。你可能会问另一个问题,但如果你懒惰做自己的研究并尝试至少一段时间,这里没有人会帮助你。 – Vyktor

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++; 
} 
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++; 
} 
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>