Php 调查结果;“孤儿”;网站结构中的文件

Php 调查结果;“孤儿”;网站结构中的文件,php,html,mysql,string,directory,Php,Html,Mysql,String,Directory,我建立了一个连接到mysql数据库的站点。我有与图片对应的项目(在数据库中列出)。数据库结构为: Item_num Description Price Available 项目编号是唯一的字母数字(A001)。 在我的图像文件夹中,我有几张A001的照片,标签为: A001_full.jpg A001_thumb.jpg A001_model.jpg 这是相当一致的。有些图片没有模型版本,但都有拇指和完整版本。不幸的是,我添加了一堆图片,然后放弃了网站。当我把它带回到网上时

我建立了一个连接到mysql数据库的站点。我有与图片对应的项目(在数据库中列出)。数据库结构为:

Item_num    Description    Price    Available
项目编号是唯一的字母数字(A001)。 在我的图像文件夹中,我有几张A001的照片,标签为:

A001_full.jpg
A001_thumb.jpg
A001_model.jpg
这是相当一致的。有些图片没有模型版本,但都有拇指和完整版本。不幸的是,我添加了一堆图片,然后放弃了网站。当我把它带回到网上时,很多图片都没有SQL条目来匹配它们。我想做的是:

  • 导入图像的目录列表(../images)
  • 抓取文件名的第一部分(在‘‘’之前),考虑strtok
  • 使用该标记查询数据库中的项_num键
  • 如果找到该密钥,请移动到下一个文件
  • 如果找不到该键,则将令牌输出到页面

  • 我真的不确定目录列表以及如何处理它,以及如何对数据库运行多个重复查询。我习惯于运行一个查询,然后使用该查询的结果。如果您能在这方面提供任何帮助,我们将不胜感激。

    您实际上可以通过一个查询来完成这项工作,然后遍历结果。它将比每个条目运行一个查询更快。大概是这样的:

    $query = "SELECT Item_num FROM table";
    
    然后,我们假设您已将结果转储到一个索引数组中,其中每个元素都是每行的
    Item_num
    的值,并转储到
    $result
    中(创建此数组的细节可能取决于您与数据库的交互方式):


    实际上,您可以通过一个查询来实现这一点,然后循环遍历结果。它将比每个条目运行一个查询更快。大概是这样的:

    $query = "SELECT Item_num FROM table";
    
    然后,我们假设您已将结果转储到一个索引数组中,其中每个元素都是每行的
    Item_num
    的值,并转储到
    $result
    中(创建此数组的细节可能取决于您与数据库的交互方式):


    你能在服务器上使用shell吗?使用shell脚本可能更容易做到这一点。可能不会。使用apache和mysql在Win7上运行此本地服务器。想要一些动态的东西,这样我可以在几天内进行调整。你能在服务器上使用shell吗?使用shell脚本可能更容易做到这一点。可能不会。使用apache和mysql在Win7上运行此本地服务器。想要一些动态的东西,这样我可以在几天内进行调整。更好的做法是将数据库结果设置为
    $result
    数组的键,而不是值。然后你可以使用
    如果(!isset($result[$image\u item]))
    @nick coons当我尝试你的代码时,我得到了
    警告:in\u array()希望参数2是数组,在第48行的C:\xampp\htdocs\mablue\u worlds\structure\missingdata.php中给出的资源
    $result应该已经是数组
    $query=“SELECT item\u Num FROM laf\u total”$result=mysql_query($query)或die(“无法执行查询”)
    @BrianFager,参数2(
    $result
    )在用数据库中的内容填充后应该是一个数组。。是你先做的吗?@NickCoons-我想你上次发帖时我正在编辑。是的,正如您在上面看到的,$result是一个sql查询,它应该(如果我的理解正确的话)使它成为一个数组。@BrianFager,
    $result=mysql\u query($query)
    意味着
    $result
    是一个资源,而不是一个数组。您必须使用
    mysql\u fetch\u assoc()
    对其进行解析,以获取值并创建一个数组。更好的做法是将数据库结果作为
    $result
    数组的键,而不是值。然后你可以使用
    如果(!isset($result[$image\u item]))
    @nick coons当我尝试你的代码时,我得到了
    警告:in\u array()希望参数2是数组,在第48行的C:\xampp\htdocs\mablue\u worlds\structure\missingdata.php中给出的资源
    $result应该已经是数组
    $query=“SELECT item\u Num FROM laf\u total”$result=mysql_query($query)或die(“无法执行查询”)
    @BrianFager,参数2(
    $result
    )在用数据库中的内容填充后应该是一个数组。。是你先做的吗?@NickCoons-我想你上次发帖时我正在编辑。是的,正如您在上面看到的,$result是一个sql查询,它应该(如果我的理解正确的话)使它成为一个数组。@BrianFager,
    $result=mysql\u query($query)
    意味着
    $result
    是一个资源,而不是一个数组。您必须使用
    mysql\u fetch\u assoc()
    对其进行解析,以获取值并创建数组。