Php mysql_fetch_数组如何显示列的单个值
我的查询获取8行,我希望能够通过单列而不是整行访问结果。例如,我想显示第7行的Deviceid。我可以显示列的所有值,但我很难计算出如何只获取一个值。我是PHP新手,所以请容忍我,谢谢你的帮助。 这是代码:Php mysql_fetch_数组如何显示列的单个值,php,Php,我的查询获取8行,我希望能够通过单列而不是整行访问结果。例如,我想显示第7行的Deviceid。我可以显示列的所有值,但我很难计算出如何只获取一个值。我是PHP新手,所以请容忍我,谢谢你的帮助。 这是代码: <?php $con = mysql_connect("uimcswpro", "testmysql", "test123") or die('Could not connect to server'); mysql_select_db("storage", $con) or d
<?php
$con = mysql_connect("uimcswpro", "testmysql", "test123") or die('Could not connect to server');
mysql_select_db("storage", $con) or die('Sorry, could not connect to the database');
$query = "Select distinct a.Deviceid as Deviceid, c.Time as Time, b.devicehostname as devicehostname, ElementName, PoolID,
TotalManagedSpace, RemainingManagedSpace,
TotalDiskCapacity, HotspareCapacity, UnassignedStorageCapacity,
AssignedStorageCapacity
from tt_cim_storage_pool a, devices b, ent_san_storage_current c
where a.Deviceid = b.Deviceid
and (type = 'Unified Pool' or type = 'RAID Group' or type is NULL)
and c.time = (select max(c.Time) from tt_cim_storage_pool where deviceid=
(select deviceid from devices where devicehostname='UIH_8100_L14' and retire=0))
and devicehostname='UIH_8100_L14';";
$result = mysql_query($query,$con);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
echo "<br/>";
while ($row=mysql_fetch_array($result)) {
echo $row[0]. " - ".$row[1]. " - ".$row['devicehostname']. " - ".$row['ElementName']. " - ".$row['PoolID']
. " - ".$row['TotalDiskCapacity'];
echo "<br/>";
}
mysql_close($con);
?>
您可以使用LIMIT关键字通过sql选择所需的行,或者简单地检查当前行数:
$rowNo = 0;
while ($row=mysql_fetch_array($result)) {
$rowNo++;
if ($rowNo == 7) {
echo $row[0]. " - ".$row[1]. " - ".$row['devicehostname']. " - ".$row['ElementName']. " - ".$row['PoolID']
. " - ".$row['TotalDiskCapacity'];
echo "<br/>";
}
}
$rowNo=0;
while($row=mysql\u fetch\u数组($result)){
$rowNo++;
如果($rowNo==7){
echo$行[0]。“-”$行[1]。“-”$行['devicehostname']。“-”$行['ElementName']。“-”$行['PoolID']
.“-”$行['TotalDiskCapacity'];
回声“
”;
}
}
您还应该考虑使用MySqLII/P>这样的现代数据库接口,查询可以返回不止一行。您需要在SQL中添加“AND a.Deviceid=n”来更具体一些,或者为所需的Deviceid遍历结果数组的行。查询只针对一个Deviceid。每个deviceid都返回几行,因为每个设备都有几个数组。谢谢@ziollek。这是我得到的显示:3-1393224682318-UIH_8100_L14-未分组磁盘-未分组磁盘-9749982609408。我要做的是只将此行的一个值传递给变量,例如“UIH_8100_L14”。有什么办法吗?再次感谢您的快速回复:)。