2010-06-03 130 views
0
 
<?php 
$sql = " 
    SELECT e.*, l.counts AS l_counts, l.date AS l_date, lo.counts AS lo_counts, lo.date AS lo_date 
    FROM employee e 
    LEFT JOIN logs l 
    ON l.employee_id = e.employee_id 
    LEFT JOIN logout lo 
    ON lo.employee_id = e.employee_id 
    WHERE e.employee_id =" .(int)$_GET['salary']; 

    $query = mysql_query($sql); 

    $rows = mysql_fetch_array($query); 

    while($countlog = $rows['l_counts']) { 
    echo $countlog; 
    } 
echo $rows['first_name']; 
echo $rows['last_name_name']; 
?> 


我得到了我想要我的FIRST_NAME和姓氏(只得到1的结果)。 l_counts我想循环的东西,但结果是不停止计数,直到我的电脑需要重新启动。大声笑。我怎样才能得到确切的结果呢?我只需要得到l_counts的确切结果。

谢谢
乔丹PagaduanPHP MySQL的选择结果

回答

3

你应该遍历rows,不超过$row[key]

while($row = mysql_fetch_array($query)) { 
    echo $row['l_counts']; 
} 
+0

如果我这样做了$行[ 'last_name_name'];会受到影响。我只想循环是l_counts; – Jorge 2010-06-03 00:31:51

+0

那么你应该从第一次迭代中存储'last_name_name'以便进一步使用。但无论如何,这是一个坏主意。如果你需要:1)所有'l_counts'2)第一个'last_name_name',那么你必须执行2个查询:第一个将只获得** l_count's,第二个将只获得** **一个记录一个领域。 – zerkms 2010-06-03 00:34:09

+0

是可能的吗? 2一次选择查询? – Jorge 2010-06-03 00:44:48

1

您正在使用赋值运算符=不比较运算符==

所以基本上是行等于while(1) { }

您的概率意味着该怎么办,@zerkms建议和遍历返回的记录。

编辑回复:附加OP评论

因此要获得第1行,然后遍历其余

$firstrow = mysql_fetch_array($query); 
while($rows = mysql_fetch_array($query) 
{ 
    //fun php script 
} 
1
$mysqli = new mysqli("localhost", "root", "", "test"); 

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

if ($result = $mysqli->query("DO HERE WHAT YOU WANT TO DO (:")) { 
    while($row = $result->fetch_row()){ 
     echo $row[0]; 
    } 
    $result->close(); 
}