цикл while в цикле while - PullRequest
       23

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

0 голосов
/ 26 ноября 2009

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

Ответы [ 2 ]

2 голосов
/ 26 ноября 2009

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

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

}
2 голосов
/ 26 ноября 2009

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

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

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

Теперь вы можете отобразить этот файл $ и все его другие данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...