0

テーブルを通過する while ループがあり、その中の結果をエコーし​​ます。画像ディレクトリを参照する while ループもあり、画像へのパスを出力できます。私の問題は、html とイメージ タグが存在する他の while ループにイメージ パスを出力したいということです。一方の while ループを他方の内側に入れようとしましたが、while の while の結果の 1 つが繰り返されます。画像の最初の while ループの外側で変数を取得し、それを他の while ループの内側に入れてエコーするにはどうすればよいですか。

UPDATE I GOT IT TO WORK 誰もが私に正しいことを言っていました。私はただ遅いだけです。以下のコードを修正して、フォーム データを取得してフォーム データを挿入する必要がありました。

ありがとう

        /* 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 />";
      }
4

2 に答える 2

2

データベースから靴のデータを照会する必要があります。照会したすべてのデータについて、画像名などをパラメーターとして受け取る関数を使用して、一致する画像を要求します。

次に、その関数ですべての画像をループして、持っている靴に一致する画像を見つけることができます。その画像 $file をデータベース クエリに返します。

したがって、クエリ ループ内で、画像をクエリ (ループスルー) して適切な画像を見つけ、データベース用に持っている靴のデータと一致する関数を呼び出します。

これで、その $file とその他すべてのデータをエコーできます。

于 2009-11-25T23:50:12.277 に答える
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
 ....

}
于 2009-11-26T00:07:49.463 に答える