<?php
    $link=@mysql_connect("localhost","root","root") or die ("数据库链接失败".mysql_error());
    mysql_select_db("str",$link);
    mysql_query("set names gb2312"); 
    $sql=mysql_query("select YER,MON,DAY,DATE,STORY,STAMP,ROUT1,ROUT2 from str_dte");
    while($row=mysql_fetch_array($sql)){
$YER=$row['YER'];
$MON=$row['MON'];
$DAY=$row['DAY'];
$DATE=$row['DATE'];
$STORY=$row['STORY'];
$ROUT1=$row['ROUT1'];
$ROUT2=$row['ROUT2'];
$STAMP=$row['STAMP'];
$path=$YER.".html";
$fp=fopen("1.html","r");
$str=fread($fp,filesize("1.html"));
$str=str_replace("{YER}",$YER,$str);
$str=str_replace("{MON}",$MON,$str);
$str=str_replace("{DAY}",$DAY,$str);
$str=str_replace("{DATE}",$DATE,$str);
$str=str_replace("{STORY}",$STORY,$str);
$str=str_replace("{ROUT1}",$ROUT1,$str);
$str=str_replace("{ROUT2}",$ROUT2,$str);
$str=str_replace("{STAMP}",$STAMP,$str);
fclose($fp);
$handle=fopen($path,"w");
fwrite($handle,$str);
fclose($handle);

}
mysql_close($link);
echo "创建成功";
 ?>
想生成很多页面,用YER命名HTML文件,同时每个HTML页面里的内容不唯一,就是可以显示所有YER相同的内容,我上面的代码可以生成很多YER不同的页面,但是每个页面的内容只有一条?
应该怎么做才能让HTML页面显示所有YER相同的内容?
还有另外一个问题  我用  select * into 123 from abc   这个语句,为什么总是提示错误?
请教!

解决方案 »

  1.   

    select * into 123 from abc ?
    sql没有这种语法,只有insert into
    select * from * where *
    select 是这种格式的
      

  2.   

    http://www.w3school.com.cn/sql/sql_select_into.asp我是在w3c看到的~~!没搞明白所以就问了下!
    那个生成HTML的问题应该怎么搞?
      

  3.   

    我是用模版生成HTML的,存在换行问题吗?
      

  4.   

    问题1:你的意思是每个按yer命名的html文件里包含了数据库里所有yer相同的数据么?
          如果是这样的话,你把sql语句改下,每次搜索出的结果按yer进行逐个搜索就行了!
          然后将得出的结果再进行循环写入即可!问题2:select * into 123 from abc       
    这条语句是将abc中所有的数据导入到123表,但是要求123表不存在,如果在导入前123表存在的话是会报错的语句可以改为insert into 123 select * from abc
      

  5.   

    那就不用了,你那个1.html格式对了就行了,循环写入时按我说的把fopen的w方式改成a就行了,
      

  6.   

    这个是用不着的,人家直接用yer命名的文件,相同的yer自然打开的相同文件
      

  7.   


    select * into 123 from abc 
    --mssql server支持 循环显示你可以这样while($row=mysql_fetch_array($sql)){
        $YER.=$row['YER'];
        $MON.=$row['MON'];
        $DAY.=$row['DAY'];
        $DATE.=$row['DATE'];
        $STORY.=$row['STORY'];
        $ROUT1.=$row['ROUT1'];
        $ROUT2.=$row['ROUT2'];
        $STAMP.=$row['STAMP'];
       
        }
       $path=$YER.".html";
        $fp=fopen("1.html","r");
        $str=fread($fp,filesize("1.html"));
        $str=str_replace("{YER}",$YER,$str);
        $str=str_replace("{MON}",$MON,$str);
        $str=str_replace("{DAY}",$DAY,$str);
        $str=str_replace("{DATE}",$DATE,$str);
        $str=str_replace("{STORY}",$STORY,$str);
        $str=str_replace("{ROUT1}",$ROUT1,$str);
        $str=str_replace("{ROUT2}",$ROUT2,$str);
        $str=str_replace("{STAMP}",$STAMP,$str);
        fclose($fp);    
        $handle=fopen($path,"w");
        fwrite($handle,$str);
        fclose($handle);
        //循环后累加 在生成1个页面
      

  8.   


    谢谢~~!第二个问题解决了!你说的这个循环也不行啊,生成的页面里还是只有一条内容! 是不是要在HTML模版页面里做文章?还是怎么做?
      

  9.   

    mssql还支持这种语句呢,第一次见呢
    ps:模板出来的数据肯定是分条的,你这样显示出来的是 年份:201020112012……一长串年份,没有意义吧
      

  10.   

    你没把fopen的w方式改为a吗?改为a才可以循环写入
    然后1.html的代码要注意必须是部分代码,最好是表单部分的可以循环导入的代码
      

  11.   


    我还特意去查了下~~发现mysql是不支持select into语句的,看来是我混淆了mssql和mysql!不过mysql可以换个方式:create tablename as select * from tablename
      

  12.   

    循环查询出来有很多数据,但是到生成的HTML页面里只有一条数据!
      

  13.   

    $arr=array();
    do{
    $arr[]=array('id'=>$row['id'],'name'=>$row['userName']);
    foreach($arr as $blog)
    {
        读取数据 然后进行替换!!!!
    }
    }
    while($row=mysql_fetch_row($result)){}
      

  14.   

    你还是把1.html打出来吧,你这问问题的方式真蛋疼,每次也不把运行结果说清楚,是打得第一条还是最后一条还是所有数据连在一起的全都语焉不详,需求搞不清楚,谁给你费这力气啊
      

  15.   

    LS这位哥们,我的意思就是如何将数据库里的内容用$YER.html命名,生成不同的YER页面,并且每个YER页面里的内容对应YER,就是比如1950.html这个页面里的所有内容都是关于1950年的。数据库的内容要在HTML页面全部显示!下面是简单的模版文件!不知道您明白没?  <div class="part_stamp_menu">
          <div class="part_menu"><span class="STYLE1">历史-<span class="STYLE5">{YER}</span>年</span></div>
      </div><!---part_menu jieshu--->
      <div class="part_menu_list">
        <!---list_kd jieshu--->
    <div class="list_contents">  <table width="401" border="0" class="left">
        <tr>
          <td width="116" align="center" valign="top" style="border-bottom:1px #CCCCCC solid;" class="STYLE3 STYLE6"><a href="../SRC_RESULT/index_ymd.php?dat={DATE}" target="_blank" class="STYLE5 STYLE7">{YER}年{MON}月{DAY}日</a></td>
          <td width="275" align="left" style="border-bottom:1px #CCCCCC solid;" valign="top"><span class="STYLE7">{STORY}</span></td>
        </tr>
      </table>  <table width="268" border="0" align="right" style="margin-top:20px;">
        <tr>
          <td align="right" valign="top">
      <a href="../STAMP_CENTER/index.php?STAMP={STAMP}" target="_blank">
      <img src="http://www.china-ybb.com/ybb_pic/BNK_PIC_A/{ROUT1}/{ROUT2}/{STAMP}.jpg" border="0" style="margin:15px;" />
      </a><br />
      </td>
          </tr>
      </table></div>
      

  16.   

    我还不知道我说了半天你明白没呢?说了几次fopen改成a方式了,你改了吗?<?php    //$link=@mysql_connect("localhost","root","root") or die ("数据库链接失败".mysql_error());
        //mysql_select_db("str",$link);
        //mysql_query("set names gb2312"); 
        //$sql=mysql_query("select YER,MON,DAY,DATE,STORY,STAMP,ROUT1,ROUT2 from str_dte");
        $row[0]['YER']='2010';
        $row[1]['YER']='2010';
        $row[2]['YER']='2010';
    $row[0]['MON']='1';
    $row[1]['MON']='2';
    $row[2]['MON']='3';
    $row[0]['DAY']='1';
    $row[1]['DAY']='2';
    $row[2]['DAY']='3';
    //while($row=mysql_fetch_array($sql)){
        for($i=0;$i<3;$i++){
    $YER=$row[$i]['YER'];
        $MON=$row[$i]['MON'];
        $DAY=$row[$i]['DAY'];
        //$DATE=$row['DATE'];
        //$STORY=$row['STORY'];
        //$ROUT1=$row['ROUT1'];
        //$ROUT2=$row['ROUT2'];
        //$STAMP=$row['STAMP'];
        $path=$YER.".html";
        $fp=fopen("1.html","r");
        $str=fread($fp,filesize("1.html"));
        $str=str_replace("{YER}",$YER,$str);
        $str=str_replace("{MON}",$MON,$str);
        $str=str_replace("{DAY}",$DAY,$str);
        //$str=str_replace("{DATE}",$DATE,$str);
        //$str=str_replace("{STORY}",$STORY,$str);
        //$str=str_replace("{ROUT1}",$ROUT1,$str);
        //$str=str_replace("{ROUT2}",$ROUT2,$str);
        //$str=str_replace("{STAMP}",$STAMP,$str);
        fclose($fp);    
        $handle=fopen($path,"a");
        fwrite($handle,$str);
        fclose($handle);
        
        }
        echo file_get_contents('2010.html');exit;
        //mysql_close($link);
        //echo "创建成功";