重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
function get_file_line( $file_name, $line ){
为临泽等地区用户提供了全套网页设计制作服务,及临泽网站建设行业解决方案。主营业务为做网站、网站制作、临泽网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
$n = 0;
$handle = fopen($file_name,'r');
if ($handle) {
while (!feof($handle)) {
++$n;
$out = fgets($handle, 4096);
if($line==$n) break;
}
fclose($handle);
}
if( $line==$n) return $out;
return false;
}
暂时没想到什么好办法或找到对应函数,抛砖引玉,希望见到更好的解决方案
php文件操作使用fopen函数,打开文件,获取到资源之后,采用fread读取一行,然后设置一个变量,如果为奇数就拼接到上一行,这里只给出读取文件的例子,至于如何拼接,如何判断是奇数行,交给你自己参悟。
$filepath = $_SERVER['DOCUMENT_ROOT'];
$filename = $filepath."/resource/dat/users.txt";
$handle = fopen ($filename, "r");
//$contents = fread ($handle, filesize ($filename));
//echo $contents;
while (!feof ($handle))
{
$buffer = fgets($handle, 4096);
$username = trim($buffer);
echo $username
}
fclose ($handle);
008. 数据库的数据查询
本节课我们来了解一下数据库的数据查询方式,单数据、数据集和其它查询。
一.单数据查询
1. Db::table()中table必须指定完整数据表(包括前缀);
2. 如果希望只查询一条数据,可以使用find()方法,需指定where条件;
Db::table('tp_user')-where('id', 27)-find()
3. Db::getLastSql()方法,可以得到最近一条SQL查询的原生语句;
SELECT * FROM `tp_user` LIMIT 1
4. 没有查询到任何值,则返回null;
5. 使用findOrFail()方法同样可以查询一条数据,在没有数据时抛出一个异常;
Db::table('tp_user')-where('id', 1)-findOrFail()
6. 使用findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组;
7. Db::table('tp_user')-where('id', 1)-findOrEmpty();
二.数据集查询
1. 想要获取多列数据,可以使用select()方法;
Db::table('tp_user')-select(); SELECT * FROM `tp_user`
2. 多列数据在查询不到任何数据时返回空数组,使用selectOrFail()抛出异常; Db::table('tp_user')-where('id', 1)-selectOrFail();
3. 在select()方法后再使用toArray()方法,可以将数据集对象转化为数组;
4. 当在数据库配置文件中设置了前缀,那么我们可以使用name()方法忽略前缀; Db::name('user')-select();
三.其它查询
1. 通过value()方法,可以查询指定字段的值(单个),没有数据返回null;
Db::name('user')-where('id', 27)-value('username');
$user = Db::table('tp_user')-select()-toArray(); dump($user);
2. 通过colunm()方法,可以查询指定列的值(多个),没有数据返回空数组; Db::name('user')-column('username');
3. 可以指定id作为列值的索引;
4. 如果处理的数据量巨大,成百上千那种,一次性读取有可能会导致内存开销过大;
5. 为了避免内存处理太多数据出错,可以使用chunk()方法分批处理数据;
6. 比如,每次只处理100条,处理完毕后,再读取100条继续处理;
7. 可以利用游标查询功能,可以大幅度减少海量数据的内存开销,它利用了PHP生成器特性。每次查询只读一行,然后再读取时,自动定位到下一行继续读取;
Db::name('user')-column('username', 'id');
Db::table('tp_user')-chunk(3, function($users) { foreach ($users as $user) {
dump($user);
}
echo 1; });
$cursor = Db::table('tp_user')-cursor(); foreach($cursor as $user){
dump($user);
}
我直接在这给你修改答案算了
使用的时候删除行号
修改数据库配置
如果想使用
页面不刷新查询数据库
需要使用JQUERY
如果有需要给我留言
1
?php
2
if(isset($_POST['submit'])$_POST['submit']=='提交'){
3
//判断是否是提交过来的
4
$intext
=
$_POST['intext'];
5
if($intext!=null||$intext!=''){
6
$link
=
mysql_connect("localhost",
"root",
"123456");
7
//数据库配置信息
第一个参数数据库位置第二个是用户名第三个是密码
8
mysql_select_db("szn_test");
9
//设置要使用的数据库
10
$sql
=
"select
*
from
demo
where
res
=
'".$intext."'";
11
//SQL语句
12
var_dump($sql);
13
$res
=
mysql_query($sql);
14
$arr
=
array();
15
//吧结果存入数组
并记录数组长度
16
$count
=
0;
17
while($data
=
mysql_fetch_array($res)){
18
$arr[$count]
=
$data;
19
$count++;
20
}
21
//关闭数据库
22
mysql_close($link);
23
}
24
}
25
26
?
27
html
28
head
29
title/title
30
/head
31
body
32
form
id="form1"
method="post"
action="demo.php"
33
input
type="text"
name="intext"
34
input
type="submit"
name="submit"
value="提交"
35
/form
36
?php
37
if(isset($arr)$arr
!=
null){
38
for($i
=
0;
$i
$count;
$i++){
39
foreach($arr[$i]
as
$key
=
$value){
40
echo
"key:".$key."
value:".$value;
41
echo
"
";
42
}
43
echo
"br";
44
}
45
}
46
?
47
/body
48
/html
这个是数据库查询代码
你可以看以下对照着修改修改