我有以下代码应该选择我数据库中相关表中的所有用户:
$hof = mysql_query("SELECT * FROM users");
$name = array();
$website = array();
$i=0;
while($result = mysql_fetch_array($hof)){
$name[$i] = $result['company'];
$website[$i] = $result['website'];
}
$i++;
我想在我的脚本的html部分(在php下面)回显所有的名称和网站,这将是各种各样的框架。我该怎么办?我不知道阵列大小的事实阻止了我。
通常,如果我知道尺寸,我会这样:
<?php echo $name[1];?>
<?php echo $name[2];?>
//and so on
非常感谢提前。附:当我首先在localhost上排序网站的功能时,我打算转到MySQLi。干杯
答案 0 :(得分:5)
你的$i++;
语句应该在while循环中
while($result = mysql_fetch_array($hof)){
$name[$i] = $result['company'];
$website[$i] = $result['website'];
$i++;
}
更好你这样做,
$rows = array();
while($result = mysql_fetch_assoc($hof)){
$rows[] = $result;
}
你就像这样回应他们,
<?php
$len = count($name);
for($i=0;$i<$len;$i++){
echo $name[1];
}
?>
对于替代方法,请使用此
<?php
foreach($rows as $row){
echo $row['name']; // use $row['website'] to echo website.
}
?>
答案 1 :(得分:3)
foreach($name as $key=>$value){
echo $name[$key];
echo $website[$key];
}
此外,无需使用$i++
,您可以使用以下方式
while($result = mysql_fetch_array($hof)){
$name[] = $result['company'];
$website[] = $result['website'];
}
答案 2 :(得分:3)
答案 3 :(得分:1)
首先,将您的数据放入数组
$data = array();
$sql = "SELECT * FROM users";
$res = mysql_query($sql) or trigger_error(mysql_error()."[$sql]");
while($row = mysql_fetch_array($res)){
$data[] = $row;
}
然后在模板中的任何地方使用它:
<ul>
<? foreach($data as $row): ?>
<li><a href="<?=$row['website']?>"><?=$row['company']?></a></li>
<? endforeach ?>
</ul>
答案 4 :(得分:0)
怎么样:
foreach ($name as $val)
{
echo $val;
}
答案 5 :(得分:0)
您可以使用mysql_num_rows()来了解查询返回的结果数
答案 6 :(得分:0)
$arrarySize = mysql_num_rows($hof);