我有一个针对一个论坛的小程序,它可以查看一个帖子并保存每个用户的日期'最后发布到MySQL数据库中。到目前为止,这么好,没问题。但是如果我想改变程序看到的线程,我当然必须打开php文件并手动更改threadid-number。这是现在它的代码摘录:
// change this variable if you want to use another thread
$thread = 452;
// save last post of each user into db
$result = $db->query("SELECT userid, MAX(posttime) AS maxpost
FROM bb$n_posts WHERE threadid = '$thread'
GROUP BY userid ORDER BY userid");
我想与没有关于php的线索的用户分享我的程序,所以我想让它更加用户友好并使用GUI。我将实现一个包含所有可用线程的选择框,用户选择一个并通过提交ID进行设置。如果我只是使用MySQL,这将是绝对容易的,但这将是一种浪费。我必须在我的数据库中创建一个只有这个变量的新表,我想避免这种情况。
有没有办法直接在文件中更改变量并保存?比如,从此文件中获取此变量,将value替换为此值并保存文件。我试着考虑使用fwrite等,我只是不知道如何从文件中获取一个特定的变量。
答案 0 :(得分:0)
制作文件,例如id.php
只放在那里
<?php
$thread = 452;
并将此文件包含在您的主php文件中。
然后编写一个将通过file_put_contents()
答案 1 :(得分:0)
我认为你使它变得比它需要的更复杂,你可以简单地有一个表单,下拉列表,提交给自己并读取$ _POST。
这样的东西,在你的'GUI'中:
<form action="page_name.php" method="POST">
<select name="thread_id">
<option value="1">Thread Name 1</option>
<option value="2">Thread Name 2</option>
<option value="3">Thread Name 3</option>
<option value="4">Thread Name 4</option>
</select>
</form>
然后在PHP中,执行:
// change this variable if you want to use another thread
$thread = $_POST['thread_id'];
// save last post of each user into db
$result = $db->query("SELECT userid, MAX(posttime) AS maxpost
FROM bb$n_posts WHERE threadid = '$thread'
GROUP BY userid ORDER BY userid");
这将允许多个用户使用该页面。
编辑:完整示例
<form action="tester.php" method="POST">
<select name="thread_id">
<option value="1">Thread Name 1</option>
<option value="2">Thread Name 2</option>
<option value="3">Thread Name 3</option>
<option value="4">Thread Name 4</option>
</select>
<button type="submit">Submit</button>
</form>
<?php
if (isset($_POST))
{
// change this variable if you want to use another thread
$thread = $_POST['thread_id'];
echo $thread;
exit;
}
?>