关闭。这个问题需要更多 focused .它目前不接受答案。
想改进这个问题?更新问题,使其仅关注一个问题 editing this post .
7年前关闭。
Improve this question
我希望标题解释得很好,但我遇到了麻烦,a)找到任何关于我想做的事情的引用,b)弄清楚我头脑中的逻辑,所以所有的输入,即使只是简单地指向我的方向正确的语法,将是一个很大的帮助。
我的目标是——我拥有的每个用户都可以上传 10 张照片。我想在预设模板中显示每个用户的照片,所有用户"template"都显示在一个页面的列表中,即模板中有用户的十张照片,然后在下面有用户二,依此类推列表。
我已经设计了模板,我可以根据当前登录的用户 ID 填充它,但是我很难让它出现在每个用户身上,这样每个用户都可以看到彼此的照片。
我努力了:
$everyid = array($user_id) foreach ($user_id as $value) {include 'template.php';}
但这不起作用,所以它似乎是非常错误的。简而言之,我想我想获取数据库中的每个 user_id,检查他们是否上传了照片(应用其他参数,但我不会在这里讨论,因为我应该能够自己排序),然后输出他们如果相关,则将模板区域放在某个页面上。
请记住,我已将所有照片路径输入到相关用户列中的 mysql 表中,因此可能有一种更简单的方法可以自动生成我忽略的内容,因此欢迎提出有关如何执行此操作的任何建议。
谢谢。
编辑:如有必要,可以提供模板代码等,但它们冗长且会大大扩展页面。
编辑编辑:根据要求,这是我的能力设置方式(简化形式):
user_id username image1 image2..... and so on.
1 her eduejdksk.jpg werfwer9342.jpg
2 him 234234234.jpg null
这是我的示例代码:
$user_id = $_SESSION['user_id'];
$queryone = mysql_query("SELECT `image1` FROM `users` WHERE `user_id` = $user_id");
$resone = mysql_fetch_array($queryone);
$valueone = $resone['image1'];
<div id="imageone">
<?php
if($valueone != '') {
echo '<img src="uploads/', $user_id, '/thumbsbig/', $valueone, '">';
} else { ;}
?>
</div>
这使我能够成功地假设“她”已登录,将“她”的 image1 (eduejdksk.jpg) 召回到基于已登录用户的模板中。它不允许我做的是在一个模板中显示所述文件,然后在下面的另一个模板中显示 234234234.jpg。
如您所见,它使用 session 用户 ID 从数据库中挑选照片。我想要发生的是 $user_id 等于 1 然后 2 然后 3 等等......对于完整的用户数据库。我假设它是某种 while 或 foreach 循环,但如上所述,我的努力到目前为止还没有结果。
谢谢。
最佳答案
您似乎为用户表中的图像创建了 10 个字段。这不是很容易管理。您最好为图像创建一个单独的表格。
id | user_id | path_to_image
----+-------------+--------------------------------
1 | 1 | some/image.jpg
2 | 1 | some/other/image.jpg
3 | 1 | some/other/image2.jpg
4 | 2 | some/other/users/image.jpg
.... etc ....
如您所见,任何用户现在都可以拥有零到无限数量的图像。如果您确实希望将图像数量限制为 10,请添加检查
SELECT COUNT(*) FROM images WHERE user_id=$user_id
上传前小于 10。查询此表以获取所有用户的图像现在很容易:
SELECT * FROM images
如果您希望从特定用户获取所有图像:
SELECT * FROM images WHERE user_id=$user_id
对于内部数据库关系,我建议您阅读有关 InnoDB 的
foreign key relationship
哦,最重要的:
mysql_*
功能已弃用,推荐使用mysqli
或 PDO
相反,请参阅 this question想要查询更多的信息。
关于php - 为每个用户自动生成内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037807/