Bonsoir à tous,
Voilà quelques années que je n'ai pas développer. Dure de s'y remettre ...!
Bon cela fait trois jours que je m'arrache les cheveux alors je rentre de suite dans le vif du sujet.
J'ai une page qui affiche des images provenant d'un dossier stocké sur le serveur.
Je les affiche et celles-ci sont sélectionnables indépendamment avec une Checbox -> OK
Lorsque celles-ci sont sélectionne, elles s'ajoutent automatiquement en miniature dans un formulaire -> OK
Dans ce formulaire je récupère via des inputs le nom du visiteur et le nom de l'album. Je souhaite donc à la validation du formulaire enregistré dans ma BDD plusieurs lignes (Sachant que je ne connais pas par avance le nombre d'image qui seront sélectionnés) du type :
- NOM - ALBUM - IMG1
- NOM - ALBUM - IMG2
- NOM - ALBUM - IMG3
- (...)
Je bute donc sur cette boucle qui me permettra de récupérer les données de mon formulaires pour les traduire en enregistrements multiples dans ma BDD.
Mon formulaire :
Et voici la page contenant le traitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <form name="albclient" action="album_client_et2.php" method="post"> <input type="text" value ="<?php print uniqid();?>" name="identifiantv" id="identifiantv"> <input type="text" id="<?php print $album;?>" name="<?php print $album;?>" value="<?php print $album;?>"> <?php if(!empty($fichier)){ sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant foreach($fichier as $lien) { $file_name = $lien; $file_array = explode ('.',$file_name); $extension = count ($file_array) - 1; $visu = substr ($file_name,0,strlen($file_name) -strlen ($file_array[$extension])-1); $imgvisu = $visu; echo "\t\t\t <div class =\"$visu-class\" id=\"visu$visu\" style=\"display:inline-block\"> <a><img src=\"$dir_nom/$lien \" class=\"minifolio\"><input type=\"text\" id=\"numerovisu\" name=\"numerovisu\" value=\"$imgvisu\"></a> </div> \n"; } } ?> <input type="submit" name="newvisit" id="newvisit" value="Continuer" class="flatbtn-blu hidemodal" style="float:right; margin:30px"/> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php // lancement de la requete if (isset($_POST['newvisit']) && $_POST['newvisit'] == 'Continuer') { /* $id = mysql_insert_id(); */ $imgvisu=$_POST['numerovisu']; $identifiantv = $_POST['identifiantv']; $idalbum = $_POST['idalbum']; /* while ($row_imgvisu = array_shift($imgvisu)) { */ $sql = "INSERT INTO bd_visiteur (id, idvisiteur, idalbum, idimage, format1, format2, format3, format4, quantite1, quantite2, quantite3, quantite4) VALUES ('$id', '$identifiantv', '$idalbum', '$row_imgvisu', '', '', '', '', '', '', '', '')"; $result = mysql_query ($sql); /* } */ if (mysql_query ($sql)) { echo "Nouveau(x) enregistrement(s) : ".$imgvisu."<br>".$idalbum."<br>"; } else { echo "Erreur SQL ! ".$sql."<br>".mysql_error(); } } mysql_close(); ?>
A noter : echo "Nouveau(x) enregistrement(s) : ".$imgvisu."<br>".$idalbum."<br>"; -> Me renvoie le nombre d'image contenu dans mon dossier au lieu de me lister les images sélectionné avec leur valeur...
J’espère être clair, j'ai plus de cheveux...
Quelqu'un saurait-il m'aiguiller ?
Cordialement,
Ruddy
Partager