[英]Automatically create php pages
我有一个关于如何自动创建单个php页面的问题。
我已经创建了一个名为catalog.php的页面。
在catalog.php中,将进行mySQL查询,查询:
$link = mysql_connect("localhost", "root", "");
mysql_select_db("photodb", $link);
$sql = "SELECT id, title, caption, comments, imagelink, year FROM photo";
然后此查询将循环并并排显示在catalog.php上:
<ul class="grid">
<?php while ($row = mysql_fetch_assoc($result))
{ ?>
<li>
<p class="image"><a href="?"><img src="getImage.php?id=<?php echo $row['id']; ?>" alt="" width="175" height="200" /></a></p>
<p class="name"><?php echo $row['title']; ?></p>
<p class="year"><?php echo $row['year']; ?></p>
</li>
<?php } // while
?>
</ul>
其中class =“ grid”将并排排列所有查询的数据,并显示图像,标题和年份。
但是,我需要的一个要求是,每当我单击任何这些图像时,它都应链接到其自己的php页面(individual.php),以显示详细的图像,标题,标题和作者的评论。 详细说明如下:
Title
IMAGE Caption
Author's comments
一个例子:
Picture of bridge
IMAGE This image was taken in paris
Low Shuttle Speed
在上面的图像,标题,标题,作者的评论中,可以在同一张表“ photo”的同一数据库“ photodb”中找到
我的问题如下:
有没有一种自动创建此类页面的方法? 原因是,如果我手动创建它们,我将很难,因为我的数据库有100多个条目。
在catalog.php中看到的<a href="">
标记中,值应该是什么?
我已经有一个用于这样的“ individual.php”页面的模板。 他的结构示例如下:
<body>
<p class="title">
London Bridge</p>
<p class="caption">
Image taken in summer 2009<br /><br /></p>
<p class="image">
<img border="0" class="floatleft" src="imagelink" width="250" height="400" />
Low Shuttle Speed
</p>
</body>
如何更改此结构以适合我的要求?
四。 可以将这样的“ individual.php” URL重命名为具有唯一ID的其他名称吗? 数据库中找到的每个图像都有自己的唯一ID。
五。 我已经在catalog.php中查询了数据库。 我可以以某种方式重用此查询personal.php吗?
如果您想知道,getimage.php如下:
<?php
$id = $_GET['id'];
// do some validation here to ensure id is safe
$link = mysql_connect("localhost", "root", "");
mysql_select_db("photodb", $link);
$sql = "SELECT imagelink FROM photo WHERE id=$id";
$result = mysql_query($sql, $link);
$row = mysql_fetch_assoc($result);
mysql_close($link);
header("Content-type: image/jpeg");
echo file_get_contents($row['imagelink']);
?>
非常感谢您阅读我的问题。
您的最后一个代码段基本上回答了您的问题-您将创建另一个页面,并通过URL( $_GET
)将变量传递给该页面。 因此,您的网址可能看起来像“ individual.php?id = 25”,它将拉出ID为“ 25”的图片。 在此示例中, $_GET['id']
为'25'。
我还注意到您正在使用“ root”用户进行MySQL连接。 我强烈建议您不要这样做。
http://www.1stwebdesigner.com/tutorials/getting-started-php-dynamic-content/
http://www.greensql.com/articles/mysql-security-best-practices
参考@Nathan Loding。 我也会用
mysql_real_escape_string()
显然是为了防止mySQL攻击。 从上面的一些代码来看,我猜您是新的还是“ OLDISH”的Weby复制粘贴程序?
这些功能也将帮助和帮助您学习..非常容易做到这一点.....是的..您可以使用文件功能。
fopen()另请参见附录M,fclose(),fgets(),fread(),fwrite(),fsockopen(),file(),file_exists(),is_visible(),stream_set_timeout(),popen()和stream_context_create ()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.