如何用fwrite函数将多条记录生成为html?

aqiu 2003-10-18 09:18:33
可以用下面的方式读取数据库里的多条不同字段的记录并生成html页面
$memo="<html>
</html>";
$fname="html/$row[id].html";
$fd=fopen($fname,"w");
$ok=fwrite($fd,$memo);
fclose($fd);

现在的问题是,想用这种方法读取多条相同字段的记录,并生成到一个html文件里
请大家帮忙
...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aqiu 2003-10-20
  • 打赏
  • 举报
回复
再请教一下feel8前辈

我用了你的方法,为什么有的时候会生成一个空的html文件呢?
而且一条数据的第一条记录肯定是生为空文件
这是为什么呢?
feel8 2003-10-18
  • 打赏
  • 举报
回复
用 mysql_insert_id 函数。

得到id后就能按你的方法自动生成一条id.html文件。

mysql_insert_id
(PHP 3, PHP 4 )

mysql_insert_id -- 取得上一步 INSERT 操作产生的 ID
说明
int mysql_insert_id ( [resource link_identifier])


mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。

如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id() 返回 0。如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id()。

注: MySQL 中的 SQL 函数 LAST_INSERT_ID() 总是保存着最新产生的 AUTO_INCREMENT 值,并且不会在查询语句之间被重置。


警告
mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 long(PHP 中命名为 int)。如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id() 返回的值将不正确。可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代。


例子 1. mysql_insert_id() 例子

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf ("Last inserted record has id %d\n", mysql_insert_id());
?>



aqiu 2003-10-18
  • 打赏
  • 举报
回复
谢谢 feel8(准备早起的鸟)
已成功

不过还有一个疑问,一直困饶着我
就是我如何能自动的生成html页面呢?

读取数据库里的多条不同字段的记录并生成html页面的时候,我是让新闻更新员在添加新闻后,手动的生成一次(我不知道如何在添加的时候如何获取ID)

还有就是现在是列表,我又如何才能让增加一条记录后自动的生成html页面呢?
feel8 2003-10-18
  • 打赏
  • 举报
回复
循环把从数据库取出的记录存入数组,用implode连接,

//循环开始
$dataArray[] = $memo;
//结束
$str = implode("", $dataArray);
$fname="html/$row[id].html";
$fd=fopen($fname,"w");
$ok=fwrite($fd,$str);
fclose($fd);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧