gpt4 book ai didi

php - 使用 MySQL 数据检查目录名称 (PHP/HTML)

转载 作者:行者123 更新时间:2023-11-29 12:11:06 25 4
gpt4 key购买 nike

我有一个 html 表,其中使用 PHP 列出了目录中的各个文件夹。文件夹名称是公司全名的缩写。我调用 MySQL 是为了访问保存公司缩写 ($comp_id) 和公司名称 ($short_name) 之间键的数据库>)。一切正常,除了当我尝试使用目录名称(相同)检查 $comp_id 时,以便将 short_name 打印到表中。这是我所拥有的:

$myDirectory = opendir(".");

$blacklist = array(".", "..");

while(false !== ($entryName = readdir($myDirectory))) {
if (!in_array($entryName, $blacklist)) {
$dirArray[] = $entryName;
}
}

closedir($myDirectory);
$indexCount = count($dirArray);

if ($stmt = $con->prepare($query)) {
$stmt->execute();
$stmt->bind_result($comp_id, $short_name);
while ($stmt->fetch()) {
//printf("%s, %s\n", $comp_id, $short_name);
//echo("<br>");
}
$stmt->close();
}

echo ("<TABLE border=1 cellpadding=5 cellspacing=0 class= whitelinks>\n");
echo ("<TR><TH>CheckBox</TH><th>File Name</th><th>Company Name</th></TR>\n");

for ($index=0; $index < $indexCount; $index++) {
if (substr("$dirArray[$index]", 0, 1) != ".") {
echo("<TR><TD><input type=\"checkbox\" name=\"comp[]\" value=\"$dirArray[$index]\"</td>");
echo("<td>");
echo("<a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");
if ($comp_id = $dirArray[$index]){
echo("<td>");
echo($short_name);
echo("</td>");
}
echo("</TR>\n");
}
}

echo("</TABLE>\n");

它回显最后一个可能的$short_name,而不是目录的相应公司名称。

我是 php 的新手,所以这可能是一个明显的菜鸟错误。

最佳答案

//make an associative array to hold values
$longNames=array();

if ($stmt = $con->prepare($query)) {
$stmt->execute();
$stmt->bind_result($comp_id, $short_name);
while ($stmt->fetch()) {
//printf("%s, %s\n", $comp_id, $short_name);
//echo("<br>");

//in query, load array using comp_id as key
$longNames[$comp_id]=$short_name;


}
$stmt->close();
}

在底部,循环内有相同的 $comp_id,因为您使用这些 id 命名文件夹,对吧?

所以在最后一个 for 循环中,

$comp_id = $dirArray[$index];
$short_name= $lonhNames[$comp_id];

echo "$comp_id , $short_name <br />\r\n";

所以完整的代码会是这样的......

$myDirectory = opendir(".");

$blacklist = array(".", "..");

while(false !== ($entryName = readdir($myDirectory))) {
if (!in_array($entryName, $blacklist)) {
$dirArray[] = $entryName;
}
}

closedir($myDirectory);
$indexCount = count($dirArray);

//new array here for matching short/long names
$longNames=array();

if ($stmt = $con->prepare($query)) {
$stmt->execute();
$stmt->bind_result($comp_id, $short_name);
while ($stmt->fetch()) {
//printf("%s, %s\n", $comp_id, $short_name);
//echo("<br>");
//in query, load array using comp_id as key
$longNames[$comp_id]=$short_name;

}
$stmt->close();
}

echo ("<TABLE border=1 cellpadding=5 cellspacing=0 class= whitelinks>\n");
echo ("<TR><TH>CheckBox</TH><th>File Name</th><th>Company Name</th></TR>\n");

for ($index=0; $index < $indexCount; $index++) {
if (substr("$dirArray[$index]", 0, 1) != ".") {
echo("<TR><TD><input type=\"checkbox\" name=\"comp[]\" value=\"$dirArray[$index]\"</td>");
echo("<td>");
echo("<a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");

echo("<td>");
echo($longNames[$dirArray[$index]]);
echo("</td>");

echo("</TR>\n");
}
}

echo("</TABLE>\n");

关于php - 使用 MySQL 数据检查目录名称 (PHP/HTML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com