php - 为每个用户自动生成内容

标签 php mysql

关闭。这个问题需要更多 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_*功能已弃用,推荐使用mysqliPDO相反,请参阅 this question想要查询更多的信息。

关于php - 为每个用户自动生成内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037807/

相关文章:

mysql - 获取我刚刚用 Spring 插入的主键

php - 使用 PHP 通过 JavaScript 编写 HTML

mysql - 我可以在 INSERT 查询中使用 SELECT 子查询吗?

PHP安装配置: error: Cannot find php_pdo_driver. h

mysql - Grails App 上的破管异常

php - 一个 While 循环中有多个 While 循环?

PHP - 从最后一个循环中删除逗号

php - 使用 jquery 显示评论

php - 奇怪的字符^M php无法识别

php - 将扩展配置文件实体添加到 FOS UserBundle