Вопрос

У меня есть цикл while, который просматривает таблицу, и я отображаю результаты внутри нее. У меня также есть цикл while, который просматривает каталог изображений, и я могу выводить пути к изображениям.Моя проблема в том, что я хочу вывести путь к изображению в другом цикле while, где находится мой тег html и изображения.Я попытался поместить один цикл 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 />";

/------------------ЗАБРАТЬ ДАННЫЕ ФОРМЫ-----------------------------/

    $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 />";
      }
Это было полезно?

Решение

Вам нужно запросить данные о вашей обуви из базы данных, а затем для каждого из них запросить соответствующее изображение с помощью функции, которая принимает имя изображения или что-то еще в качестве параметра.

Затем с помощью этой функции вы можете просмотреть все изображения и найти то, которое соответствует вашей обуви.Верните этот $file изображения в запрос к базе данных.

Итак, внутри вашего цикла запроса вызовите функцию, которая запрашивает (проходит по циклу) изображения, находя правильное изображение, соответствующее данным обуви, которые вы имеете только для своей базы данных.

Теперь вы можете повторить этот $file и все остальные его данные.

Другие советы

Как уже отмечалось, вам необходимо указать, какое изображение для какой обуви следует использовать в базе данных:

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
 ....

}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top