while loop in the while 루프
-
05-07-2019 - |
문제
나는 테이블을 통과하는 타운 루프가 있고 그 안에 결과를 반영하고 이미지 디렉토리를 보는 While 루프가 있으며 이미지로의 경로를 출력 할 수 있습니다. 내 문제는 HTML과 이미지 태그가있는 곳에서 다른 While Loop의 이미지 경로를 출력하고 싶다는 것입니다. 하나는 다른 하나의 루프를 다른 곳에 넣으려고 시도했지만, 잠시의 결과 중 하나는 반복됩니다. 이미지의 첫 번째 루프 외부에서 변수를 가져 와서 다른 웨드 루프 안에 넣고 반향 할 수 있습니까?
업데이트 나는 모든 사람들이 나에게 옳은 것을 말해주고 있었다. Grab Form 데이터 및 양식 데이터를 삽입하는 것이라는 코드 아래 코드를 수정했습니다.
감사
/* 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 />";
/----------------------------------------------------------------/
$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 />";
}
해결책
데이터베이스에서 신발 데이터를 쿼리 한 다음 쿼리 된 이들 중 하나에 대해 이미지 이름 또는 매개 변수로 가져 오는 함수를 통해 일치하는 이미지를 요청해야합니다.
그런 다음 그 기능에서 모든 이미지를 루프하고 당신이 가진 신발과 일치하는 이미지를 찾을 수 있습니다. 해당 이미지 $ 파일을 데이터베이스 쿼리로 반환하십시오.
따라서 쿼리 루프 내에서 데이터베이스에 대한 신발 데이터와 일치하는 올바른 이미지를 찾는 이미지를 쿼리 (루프)하는 기능을 호출하십시오.
이제 $ 파일과 다른 모든 데이터를 반향 할 수 있습니다.
다른 팁
언급 한 바와 같이, 데이터베이스의 어떤 신발을 사용해야하는지 지정해야합니다.
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
....
}