一般我们为了减少数据库链接,取数据是一次取出所有想要的数据然后做循环处理,而不是一个个循环取出
成都网络公司-成都网站建设公司创新互联建站10余年经验成就非凡,专业从事成都网站建设、网站建设,成都网页设计,成都网页制作,软文推广,一元广告等。10余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:18982081108,我们期待您的来电!
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "aaaa";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
$conn-query('set names utf8');
$sql = "SELECT name FROM xiao ";//这里是查询xiao表的name列的所有数据
$result = $conn-query($sql);
if ($result-num_rows 0) {
// 输出数据
while($row = $result-fetch_assoc()) {
//print_r($row);
echo "name: " . $row["name"]."br";//这里是循环打印
}
} else {
echo "没有查询到数据";
}
$conn-close();
对数据库取出的值遍历比较好一点:
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",
比如:
checked
写的出,就是麻烦很多
先得到查询结果的行数
$n
$jieg=mysql_query("select
*
from
jieg");
$n
=
mysql_num_rows($jieg);
然后循环修改查询语句
一个个的把数据查出来
使用limit
for($i=0;$i$n;$i++){
$sql=mysql_query("select
*
from
jieg
limit
".$i.",1");
$shuc=mysql_fetch_array($sql);
echo
$shuc['name'];
}
您好,可参考如下思路,然后结合自己的业务逻辑即可:
?php
//首先链接数据库
$conn = mysql_connect('主机名','数据库登陆用户名','数据库登陆密码') or die('链接数据库失败');
//选择数据库
mysql_select_db( 'test',$conn );
//假设test数据库中有文章表,article,表有字段 id,title,create_time 那么可采用如下代码循环读出里面数据
//进行SQL查询-查询article中的数据并按照id倒序排列
$sql = 'SELECT *FROM article ORDER BY id DESC';
//获取执行结果
$result = mysql_query( $sql,$conn );
if( !$result ) die( '执行SQL语句失败' );
//循环读出结果集中的数据
while( $row = mysql_fetch_assoc( $result ) )
{
//输出数据
echo $row['id'].'--'.$row['title'].'--'.$row['create_time'].'br/';
}
//如果test中有三条数据,比如下列数据
//id title create_time
//1 文章标题1 2014/10/31 14:20
//2 文章标题2 2014/11/01 15:12
//3 文章标题3 2014/11/03 12:10
//那么执行代码后,网页应显示如下:
//3--文章标题3--2014/11/03 12:10
//2--文章标题2--2014/11/01 15:12
//1--文章标题1--2014/10/31 14:20
?
最好把你的代码也发上来,大家看看! 我在网上找了一点代码,虽然只有一条,不过可以很明确的说明问题了。 while前就是连接数据库信息。 while($row=mysql_fetch_array($result)) { 这里输出内容。 } 再给你一个完整点的代码: ?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error());//连接数据库 mysql_select_db("mydb");//选择数据库mydb $result = mysql_query("SELECT id, name FROM mytable");//执行SQL语句,将结果给$result变量。 while ($row = mysql_fetch_array($result, MYSQL_NUM)) { //循环输出查询得到的每一条记录 printf("ID: %s Name: %s", $row[0], $row[1]); } mysql_free_result($result);//释放$result变量占用的内存资源。 ? 上面代码是PHP官方文档找的,你可以参考一下!
记得采纳啊
echo $goods_id[0]; 或者 echo $goods_id["goods_id"];
mysql_fetch_array($result) 是返回一个数组
你可以在通过
$result = mysql_query("select `goods_id` from `sdb_goods` where `astrict_id`=1");
var_dump(mysql_fetch_array($result));
我看了你的追问
我觉得你是while($goods_id = mysql_fetch_array($result))没有理解
是把每一次执行的mysql_fetch_array 赋给 $goods_id
比如有三行数据
id name
1 123
2 456
3 789
那么while第一次执行的是把数组 array("name"="123") 赋给 $goods_id
第二次就是你查询出来的第二项,也就是 456..
希望你可以明白
也就是$goods_id得到的是一个数组,你需要输入键名引索出来
另外可以查查mysql_fetch_array,它还有个选项,控制引索出来按照数字还是查询数据的名字