Question

J'ai une boucle while qui parcourt une table et je répète les résultats, mais également une boucle while qui examine un répertoire d'images et permet de générer les chemins d'accès aux images. Mon problème est que je veux sortir le chemin de l'image dans l'autre boucle en boucle où se trouvent mes balises html et image. J'ai essayé de mettre une boucle while dans l'autre, mais l'un des résultats est répété. Comment puis-je prendre la variable en dehors de la première boucle while pour les images et la mettre à l'intérieur de l'autre boucle et l'écho.

MISE À JOUR I GOT IT TO WORK Tout le monde me disait la bonne chose que je suis juste lent. J'ai modifié le code ci-dessous, où il est indiqué que des données de formulaire à saisir et à insérer des données de formulaire sont ce que je devais faire.

Merci

        /* 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 DONNÉES DE FORMULAIRE ---------------------- ------- /

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

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

/ ------------------ INSERT IN TO 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 />";
      }
Était-ce utile?

La solution

Vous devez interroger les données de votre chaussure dans la base de données, puis demander l’image correspondante par le biais d’une fonction qui prend le nom de l’image ou un paramètre en guise de paramètre.

Ensuite, dans cette fonction, vous pouvez parcourir toutes vos images et trouver celle qui correspond à votre chaussure. Renvoyez ce fichier image $ à votre requête de base de données.

Dans votre boucle de requête, appelez donc la fonction dans laquelle les images sont recherchées, en recherchant la bonne image, en faisant correspondre les données de sabot que vous venez de créer pour votre base de données.

Vous pouvez maintenant faire écho à ce fichier $ et à toutes ses autres données.

Autres conseils

Comme indiqué, vous devez spécifier quelle image utiliser pour quelle chaussure dans la base de données:

ALTER TABLE shoeData ADD COLUMN image VARCHAR(256);
UPDATE shoeData set image='path/to/image.jpg' WHERE id=1;

Ensuite, vous pouvez saisir l'image de la chaussure dans votre boucle principale:

while($row = mysql_fetch_array($results)){
 $image = $row['image'];
 printf('<img src="/images/%s" alt="" />', htmlentities($row['image']));

 ....
 Rest of the loop
 ....

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top