質問

テーブルを通過し、テーブル内の結果をエコーする while ループがあり、イメージ ディレクトリを参照する while ループもあり、イメージへのパスを出力できます。私の問題は、HTML タグと画像タグが存在する他の while ループに画像パスを出力したいことです。1 つの while ループをもう 1 つの while ループの中に入れてみましたが、while の結果の 1 つが 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