我有一个while循环通过一个表,我回显其中的结果,我还有一个while循环查看一个图像目录,我可以输出到图像的路径。我的问题是我想在我的html和图像标签所在的另一个while循环中输出图像路径。我已经尝试将一个while循环放在另一个循环中,但是while中的一个结果会重复出现。如何将变量置于第一个while循环之外的图像中,并将其置于另一个while循环中并回显它。
更新我认真工作每个人都告诉我正确的事情我只是很慢。我修改了下面的代码,它表示抓取表单数据并插入表单数据,这是我需要做的。
由于
/* LOOP THROUGH IMAGES */
$myDir = dir("images/");
while(($file = $myDir->read()) !==false){
if(!is_dir($file)){
echo "$file";
}
}/*SHOE IMAGE WHILE LOOP ENDS*/
/* LOOP THROUGH SHOEDATA TABLE */
$results = mysql_query("SELECT * FROM shoeData");
while($row = mysql_fetch_array($results)){
$name = $row['name'];
$about = $row['about'];
$company = $row['company'];
$buy = $row['buy'];
$tags = $row['tags'];
$id = $row['id'];
/* ECHO THE SHOEDATA RESULTS */
echo "<div class='span-8'>";
echo "<ul>";
echo "<li>$name</l1>";
echo "<li>$about</l1>";
echo "<li>$company</l1>";
echo "<li><a href='$buy'>BUY</a></l1>";
echo "<li>$tags</l1>";
echo "</ul>";
echo "</div>";
}/*SHOEDATA WHILE LOOP ENDS */
-----------------------UPLOAD SCRIPT UPDATE----------------------
Currently My upload script will move my files but their is nothing currently inputting a field into my database, how would I modify this script to also upload a link to my images in the table with
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
/ ------------------ GRAB FORM DATA ---------------------- ------- /
$name = $_POST['name'];
$about = $_POST['about'];
$company = $_POST['company'];
$buy = $_POST['buy'];
$tags = $_POST['tags'];
$imageName1 = $_FILES["file"]["name"];
/ ------------------插入数据库---------------------- /
$sql = "INSERT INTO shoeData (name,about,company,buy,tags,image)VALUES(
\"$name\",
\"$about\",
\"$company\",
\"$buy\",
\"$tags\",
\"$imageName1\"
)";
$results = mysql_query($sql)or die(mysql_error());
if (file_exists("images/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"images/" . $_FILES["file"]["name"]);
echo "Stored in: " . "images/" . $_FILES["file"]["name"];
}
}
else
{
echo "Invalid file" . "<br/>";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
}
答案 0 :(得分:2)
您需要从数据库中查询您的鞋子数据,然后针对您查询的每一个数据,通过将图像名称或某些内容作为参数的函数请求匹配的图像。
然后在该功能中,您可以遍历所有图像并找到与您所拥有的鞋匹配的图像。将该图像$ file返回到数据库查询。
因此,在Query循环中,调用查询(循环)查找正确图像的图像的函数,匹配您刚刚为数据库提供的鞋数据。
现在您可以回显该$文件及其所有其他数据。
答案 1 :(得分:2)
如上所述,您需要指定哪个图像应该用于数据库中的哪个鞋:
ALTER TABLE shoeData ADD COLUMN image VARCHAR(256);
UPDATE shoeData set image='path/to/image.jpg' WHERE id=1;
然后你可以在你的主循环中抓住鞋子图像:
while($row = mysql_fetch_array($results)){
$image = $row['image'];
printf('<img src="/images/%s" alt="" />', htmlentities($row['image']));
....
Rest of the loop
....
}