重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一般我们为了减少数据库链接,取数据是一次取出所有想要的数据然后做循环处理,而不是一个个循环取出
公司主营业务:成都做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出高坪免费做网站回馈大家。
$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();
把复选框的值作为参数提交,作为循环的次数
$s1 = $_POST['s1'];//获取样品数量
for($i = 1; $i=$s1; $i++){
$tmp = $_POST['smp'.$i]; //这里是对应循环中的文本框name属性
$sql = "insert into 表名(字段....) values('样品名',数量)";
mysql_query($sql,$conn);
}
这样写,能看明白么?
您好,可参考如下思路,然后结合自己的业务逻辑即可:
?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循环例如:
$res = mysql_query("select id,name,description,price,pic_url1 from ebf_products");
while($pp = mysql_fetch_array($res,MYSQL_ASSOC) or false){
$list[] = $pp;
}
for(;;)FOR循环是这样的,第一个分号前面是定义一个变量如:$i=1两个分号中间是定义条件如:$i10第二个分号后是方法如:$i++
for($i=1;$i10;$i++){
echo $i++;
}
这样的话就是输出一到九
如果你要用FOR 来写你那个数据库查询显示语句的话应该写不出吧 ,你看看下面有没有高手写出来咯,我也是PHP菜鸟 呵呵
如果是根据ID查询的话还有可能我写写看
还有如果你只是查数据库中的记录的话最好不要用mysql_fetch_array
因为这样会查出很多东西,而你只是想要的是记录,它会带出你查出的直的索引什么的,速度慢用mysql_fetch_assoc好
建议楼主把SQL语句显示出来,自然就明白问题在哪里了,我试着简单说一下,假设你的USER数据表有三个字段(name、age、sex),_POST提交数据也是这三个字段的,假设POST的值分别是abc、18、男,那么帖子的PHP会执行下面的三个SQL语句:
INSERT INTO USER(name) VALUES(abc)
INSERT INTO USER(age) VALUES(18)
INSERT INTO USER(sex) VALUES(男)
现在明白了吧,一、三两句会语法错误,英文没有在文本字段添加引号,第二句即使执行成功插入的记录只有年龄,姓名、性别为空,如果数据库有限制字段有效性,那么第二句插入也会失败,数据库需要的语句是:
INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')
如果理解了,自然会下面这样写PHP语句:
$sql=END
INSERT INTO USER(name,age,sex)
VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')
END;