цикл while в цикле while

0

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

    $name = $_POST['name'];
    $about = $_POST['about'];

    $company = $_POST['company'];
    $buy = $_POST['buy'];
    $tags = $_POST['tags'];
    $imageName1 = $_FILES["file"]["name"];

/------------------ INSERT INTO DATABASE ----------------------/

$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
    Как информация в таблице связана с изображениями? Если между этими двумя понятиями нет прямой связи, какой метод имеет смысл для вас показать их вместе?
  • 0
    Я предполагаю, что каким-то образом коррелирует идентификатор с именем изображения, не уверен, как, хотя?
Показать ещё 1 комментарий
Теги:
while-loop

2 ответа

2
Лучший ответ

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

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

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

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

  • 0
    хорошо, я собираюсь попробовать это, я очень плохо знаком с php, поэтому мне может понадобиться больше объяснений
  • 0
    я должен использовать переменную GET, чтобы получить имя изображения, я потерян.
Показать ещё 4 комментария
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
 ....

}
  • 0
    Моя единственная проблема с этим заключается в том, что в будущем я планирую создать сценарий загрузки и никогда не создавал сценарий, в котором я загружаю пути к изображениям в таблицу базы данных, пока загружаю изображение. Вот почему у меня есть цикл while для просмотра каталога изображений.
  • 0
    Все просто: после загрузки изображения переместите его в каталог images / и обновите путь к изображению в базе данных с именем файла изображения.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню