PHP循环输出数据库数据只输出第一个结果

PHP循环输出数据库数据只输出第一个结果,第1张

设定&value为取出值

<php

$array = array(1, 2, 3, 4, 5, 6, 7);

foreach ($array as $value) {

>

<tr>

<td><php echo $value; ></td>

</tr>

<php

}

>

结果已经有了,我就说下这句话的区别

mysql_select_db,字面上就能理解,选择数据

去PHP手册中可以发现该函数的返回值是bool,也就是布尔值

bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )

只是确定 *** 作是否成功

$result = mysql_query($sql, $link); // 执行查询语句

是执行查询语句,这时返回的是

resource mysql_query ( string $query [, resource $link_identifier ] )

资源符号,通过var_dump($result)可以看到该变量的类型,不是数组

随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据

每次 *** 作,返回一行数据

该 *** 作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行

概念和foreach一致

所以通过

while ($bookInfo = mysql_fetch_array($result)){

}

可以获取所有的行数据

如果没有数据会返回false,所以while会自动停止循环

// 这是因为你从资源型结果集中获取数据时只获取了一次, 如果查询为多条数据应该迭代资源型结果集

$r = mysql_query($sql);  // 你的结果集

$result = [];

while (true) {

    $ary = mysql_fetch_assoc($r);  // 取出第一条数据, 数据指针向后移动一位

    if ($ary) {

        $result[] = $ary;   // 存储到结果数组中

    } else {

        break;  // 如果取出的结果为false, 则代表数据获取完毕, 终止循环

    }

}

echo '<pre>';

print_r($result);   // 打印最终结果

echo '</pre>';

数据库取出的值遍历比较好一点:

var data={$data};

for (var item in data) {

$(" :radio[name="+item+"][value="+data[item]+"]")attr("checked",true);

}

上面的写法可能有错误,意思就是对数据库取出的值遍历,设置name=item且value=data[item]的checked为true。

当然也可以用模板,这样就不需要遍历,使用if标签判定value值来插入"checked", 比如:<if condition="$dataitem1 eq '10'">checked</if>

echo $row($i); 改成

echo $row[$i];把while里面的for循环中的echo

$row($i);改成echo

$row[$i];即可

调用数组需要使用[]

而不是括号

以上就是关于PHP循环输出数据库数据只输出第一个结果全部的内容,包括:PHP循环输出数据库数据只输出第一个结果、PHP如何输出数据库的每条数据、PHP如何输出数据库的每条数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10198023.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存