Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库获取ID计数并生成到新闻的动态链接_Php_Mysql_Sql_Dynamic - Fatal编程技术网

Php 从数据库获取ID计数并生成到新闻的动态链接

Php 从数据库获取ID计数并生成到新闻的动态链接,php,mysql,sql,dynamic,Php,Mysql,Sql,Dynamic,昨天我问了这个问题: 对不起,这个问题不太准确。我现在一个人完成了很多,但我还有几个问题 我设法将我的新闻放入包含以下列的数据库表中: “id”、“新闻标题”、“新闻日期”、“新闻摘要”、“新闻内容”、“新闻外部链接” 在我的news/index.php上,我现在有以下代码: <?php $con=mysqli_connect("localhost", "XXX", "oizQvdjh", "usr_web3_1"); // Check connection

昨天我问了这个问题: 对不起,这个问题不太准确。我现在一个人完成了很多,但我还有几个问题

我设法将我的新闻放入包含以下列的数据库表中: “id”、“新闻标题”、“新闻日期”、“新闻摘要”、“新闻内容”、“新闻外部链接”

在我的news/index.php上,我现在有以下代码:

<?php
     $con=mysqli_connect("localhost", "XXX", "oizQvdjh", "usr_web3_1");
     // Check connection
     if (mysqli_connect_errno())
     {
           echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }
     $result = mysqli_query($con,"SELECT * FROM tbl_news ORDER BY id DESC");

     while($row = mysqli_fetch_array($result))
     {
       echo "<li class='clearfix'>";
       echo "<a class='news_pic'><img src='/assets/images/news/news_".$row['id']
                  ."_thumb.jpg'></a>";
       echo "<h2 class='info_headline'>" . $row['news_headline'] . "</h2>";
       echo "<p class='date'>" . $row['news_date'] 
                  . " &ndash; <a href='#disqus_thread'></a></p>";
       echo "<p class='news_text'>" . $row['news_teaser'] 
                  . "<br><a class='more-link' href='WHERE_TO'>Read more</a></p>";
       echo "</li>";
     }

     mysqli_close($con);
?>

那里的一切看起来都很好,它从数据库中获取了我所有的新闻(到目前为止有五条),并获取了我自己上传到服务器上的图像,图像的名称与id一致

单一新闻端具有相同的代码,只是它有一个“WHERE”语句,并获取内容文本而不是摘要:

$result = mysqli_query($con,"SELECT * FROM tbl_news WHERE id='1' ORDER BY id DESC");

while($row = mysqli_fetch_array($result))
{
   echo "<h2>" . $row['news_headline'] . "</h2>";
   echo "<p class='date'>" . $row['news_date'] 
         . " &ndash; <a href='#disqus_thread'></a></p>";
   echo "<a class='news_pic'><img src='/assets/images/news/news_".$row['id']."
         .jpg'></a>";
   echo "<p class='news_text'>" . $row['news_content'] . "</p>";
}

mysqli_close($con);

?>
$result=mysqli_query($con,“从tbl_新闻中选择*,其中id='1'按id DESC排序”);
while($row=mysqli\u fetch\u数组($result))
{
回声“$row[“新闻标题]”;
echo“

”$row['news\u date'] .“&ndash;

”; 回声“; echo“

”$row['news\u content']。“

”; } mysqli_close($con); ?>

现在回答我的问题。如何保存单个新闻的文件以使其动态更新。在我的索引中,href写着“where TO”,我想要一个类似
的链接,顺便说一句,你的问题不是很清楚:

您需要启用mod_rewrite并选择适当的重写规则

创建一个.htaccess文件,如下所示:

RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?path=$1 [L,QSA]
像这样的url

http://your.site.com/news/2012/10/22
将转换为

http://your.site.com/index.php?path=/news/2012/10/22
从querystring获取“路径”并创建查询。请确保正确清理输入

2012/10/22几乎是mysql的有效日期:只需将“/”替换为“-”

$dt=str_replace('/','-',substr($path,6));
确保该日期有效:

$dt=date('Y-m-d',strtotime($dt));
现在您的查询可能是

$query="SELECT * FROM tbl_news WHERE news_date='$dt'";

此查询将为您提供特定一天的所有新闻。

我认为这不是我需要的,或者至少不是全部。我需要像Wordpress这样的功能。在那里我有一个php文件“single.php”,其中我的所有文章内容都是从数据库中添加的。我需要这样的东西为我的单一新闻网站以及,所以我只有一个文件与所有的代码在它。从我的新闻索引站点,我用一个动态添加的日期+段塞链接到这一边,它从数据库中抓取。它是一样的。调整重写规则并使用您想要的脚本。嗯,好的。。。我会设法弄明白的。那么,我需要在我的新闻索引页面的href=”“中添加什么内容?我的另一个问题是,在单个新闻页面中放置什么,而不是:whereid=1。如何获取当前id?从'path'变量中提取年、月和日,使用timetostr()转换为日期,使用$mdt=date('Y-m-d',$dt'创建一个mysql日期格式,然后使用查询选择您的新闻,如
select*from tbl_news WHERE news_date='$mdt'
@ghigo您需要重写,以便人们使用新链接和一些正则表达式输入(搜索)以创建这些链接。