Interaction entre scripts

Résolu
Bonjour
j'ai 2 scripts qui marchent
le premier permet de récupérer des infos dans une bdd et les afficher :

<div class="bloq">
<?php
// condition texte   // on fait une boucle du tableau pour l'affichage
 while ($row = mysqli_fetch_array($result))
 { 
 ?> 
 $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcule la première entrée à lire
 // recherche du texte
 require_once("db_connect_mysqli.php");
 $sql = "SELECT * FROM produits";
 $result = mysqli_query($conn, $sql);
?>
<div class="bloq">
<?php
// condition texte   // on fait une boucle du tableau pour l'affichage
 while ($row = mysqli_fetch_array($result))
 { 
 ?> 
<table>
<tr><td>
<!-- affichage de l'image ici -->
</th></td></tr>
<tr><td>
  <?php 
 $desc= $row['name'];
  echo chunk_split($desc,45,"<br/>") ;
  ?>
</tr></td>
<tr><td>
  <?php   
  echo  $row['price']; echo '€';
  ?>
</tr></td>
</table>
<?php
  } //fin while row       
  $row ='' ;
  $path ='' ;
  $img ='' ;
  ?>
</div> <!-- fin div class bloc-->
 
<tr><td>


le second va chercher une image dans un dossier pour l'afficher :

$repertoire = "upload/";
  $iteration = opendir($repertoire); 
 while ($fichier = readdir($iteration))
 {
  $fichier_info = finfo_open(FILEINFO_MIME_TYPE);
  $mime_type = finfo_file($fichier_info, $repertoire.$fichier);
    echo '<img src="'.$repertoire.$fichier.'" alt="">'; 
} //fin while
lister_images("upload/");


le but est d'intégrer dans le second dans le premier pour afficher une image différente dans chaque table avec en dessous le nom et le prix

ps : ( je débute)

merci par avance

EDIT : Correction des balises de code ( Ajout du LANGAGE pour avoir la coloration syntaxique... )

7 réponses

  1. Modérateur
    Bonjour,

    Déjà, pense bien à préciser le LANGAGE dans les balises de code pour que l'on ait la coloration syntaxique, la numérotation des lignes et l'indentation du code...
    Explications ( à lire ENTIEREMENT !!!! ) disponibles ici :
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    Ensuite, tu dis vouloir UNE image par table ...
    Donc .. UNE image PAR PRODUIT ?
    Comment tu fais le lien entre l'image et le produit ?

    N'as tu pas stocké, en bdd, le nom de l'image correspondant au produit ??

    1. merci mais c'est trop tard pour modifier l'annonce mais je serais pour la prochaine fois
      oui 1 image par produit
      non je n'ai pas enregistre le nom des images
      elles sont affichees dans l'ordre d'enregistrement
      il n'y a pas de rapport entre les produits et les images
      ( ce qui pourra etre un probleme )
      1. Modérateur
        A mon avis .. vaut mieux tard que jamais.... par ce que là ... ... pour être un problème... ça va être un problème ...

        Reviens nous voir quand tu sauras comment faire le lien entre le produit et l'image...
        Tant que nous n'avons pas cette info .. impossible de traiter ta demande.
    2. je n'ai pas de solutions mais au moins tu pourrais m'aider pour resoudre ce probleme

      je verrais pour l'affiliation apres
      1. Modérateur
        Mais.. c'est là tout le problème ....
        Comment choisir LA photo à afficher dans le tableau ??
        Si tu réponds à cette question.. adapter le code sera des plus facile....
        Sachant qu'à ce moment là .. ton second code sera inutile ... puisqu'il suffira de faire

        <tr>
          <td>
             <!-- affichage de l image ici -->
             <img scr="uploads/<?php echo $imageaafficher;?>" alt="photo produit" />
          </td>
        </tr>
        
    3. apres recherche la solution serait une correlation des id
      du style :

      (if $id = $row[id] )
      { echo "img scr="uploads/$imageaafficher alt="photo produit" />" where $name =$id; }
        


      la question est comment nommer les photos
      1. Modérateur
        oula... tu nous fais un mix entre du html, du php et de la requête sql ... un chouette Gloubi-boulga sans queue ni tête...

        Mais oui.. il faut trouver un moyen d'associer l'image au produit.
        Si tu ne veux pas stocker son chemin dans la bdd... tu pourrais nommer la photo en fonction du produit ( le même nom ou le même ID que le produit )
    4. la question est la comment renommer l'image
      1. Modérateur
        ben... comment tu l'upload sur le serveur ??
        C'est à ce moment là que tu peux
        - la renommer
        - (et/ou) stocker son nom (et son chemin éventuellement) dans ta bdd

        mais là.. c'est un autre sujet ... qui, si tu ne parviens pas à le traiter par toi même ... nécessitera l'ouverture d'une nouvelle discussion sur le forum propre à sa résolution. ( et oui.. on essaye au maximum de créer UNE discussion par problème (et même si tu penses qu'ils sont liés...) .. c'est plus simple pour s'y retrouver ... ).
    5. j'ai une idee de code

      require_once("db_connect_mysqli.php");
       $sql = "SELECT * FROM produits";
       $i='1';
       $extensions = ['jpg', 'png', 'jpeg', 'gif'];
       $result = mysqli_query($conn, $sql);
       $name = $_FILES['file']['name'];  
       $realname= $row['name'] where $id =$i.".".$extension; 
       $i++
       move_uploaded_file($name, './upload/'.$realname);
      


      mais j'ai un probleme d'ecriture sur la ligne
      $name= $row['name'] where $id =$i.".".$extension;

      peut tu m'aider a regler ca stp
      1. Modérateur
        Tu fais n'importe quoi ......

        Reprenons ...
        A quel moment fais tu l'upload de ton image ?
        Via un formulaire ?
        Ce formulaire contient quels champs ?
        Il est appelé dans quel fichier ?
        Est-ce que le formulaire est lié à un produit ?

        PS: Je t'ai dit que pour cette "question" tu devais ouvrir une NOUVELLE discussion sur le forum ...