Bonjour,
dans le code de mon site, je fais appel à une base de données pour afficher un tableau des données .
le hic c'est que j'ai une ligne 0 sans données qui est créée, et qui est affichée, et je ne souhaite pas afficher cette ligne
dans une page de mon site je peux envoyer un fichier .csv qui va mettre à jour la base de données, je ne sais pas pourquoi il est ajouté la ligne avec id 0 à la fin du tableau.
alors 2 moyens pour éviter l'affichage : trouver comment est créée l'id 0 et corriger, ou faire en sorte de ne pas l'afficher. ou peut être aussi voir comment la BDD est configurée (mais là je ne sais pas grand chose dans le domaine...)
en tout cas quand j'importe le csv via la console PHPMyAdmin la ligne avec le 0 n'est pas créée...
je vous livre ci-dessous les codes utilisés 1/ pour envoyer le ficher et l'écrire dans la BDD et 2/ le code qui appelle la BDD pour l'afficher dans un tableau.
comme vous l'avez vu dans mes autres posts, je suis débutant !! et suis conscient que j'ai des erreurs quant à la façon de présenter le code...
aussi merci d'avance une fois de plus pour votre aide.
Bruno
Code d'envoi du fichier csv et écriture dans la BDD:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 <span style="color:blue">5)Mise à jour de la liste des concours</span> <br /><br /> <?php if(isset($_FILES2['fichier'], $_POST2['envoyer'])) { //on efface la table compta avant d'inscrire les données $sql2="TRUNCATE concours"; $result2=mysql_query($sql2); $dossier2 = 'file/'; $fichier2 = basename($_FILES2['fichier']['name']); $taille_maxi2 = 100000; $taille2 = filesize($_FILES2['fichier']['tmp_name']); $extensions2 = array('.csv', '.txt'); $extension2 = strrchr($_FILES2['fichier']['name'], '.'); //Début des vérifications de sécurité... if(!in_array($extension2, $extensions2)) //Si l'extension n'est pas dans le tableau { $erreur2 = 'Vous devez uploader un fichier de csv...'; } if($taille2>$taille_maxi2) { $erreur2 = 'Le fichier est trop gros...'; } if(!isset($erreur2)) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... $fichier2 = strtr($fichier2, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier2 = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier2); if(move_uploaded_file($_FILES2['fichier']['tmp_name'], $dossier2 . $fichier2)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... { echo 'Upload effectué avec succès !'; } else //Sinon (la fonction renvoie FALSE). { echo 'Echec de l\'upload !'; } } else { echo $erreur2; } } //Le chemin d'acces au fichier sur le serveur $fichier2 = fopen("file/concours.csv", "r"); //tant qu'on est pas a la fin du fichier : while (!feof($fichier2)) { // On recupere toute la ligne $uneLigne2 = fgets($fichier2, 1024); //On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';') $tableauValeurs2 = explode(';', $uneLigne2); // On crée la requete pour inserer les donner (ici il y a 8 champs donc de [0] a [7]) $sql2="REPLACE INTO concours VALUES ('".$tableauValeurs2[0]."', '".$tableauValeurs2[1]."', '".$tableauValeurs2[2]."', '".$tableauValeurs2[3]."', '".$tableauValeurs2[4]."', '".$tableauValeurs2[5]."', '".$tableauValeurs2[6]."', '".$tableauValeurs2[7]."')"; $req2=mysql_query($sql2); // la ligne est finie donc on passe a la ligne suivante (boucle) } ?> <form method="POST" action="" enctype="multipart/form-data"> <label for="fichier">Fichier concours:</label><input type="file" name="fichier" value="" id="fichier" /><br /><br /> <input type="submit" value="Envoyer Fichier 2" name="envoyer" id="envoyer" /> </form>
ensuite le code pour l'affichage du tableau:
et ci-dessous un aperçu de la BBD suite à l'écriture du fichier:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <form method="POST" action="inscriptions2.php" > <div class="tableau"> 2) cliquez sur le samedi OU le dimanche du concours OUVERT souhaité, celui-çi est automatiquement sélectionné <table> <caption> Liste des Concours </caption> <tr bgcolor="#c8c8c8"> <th class="colid">Concours Nº</th> <th class="colsamedi">Samedi</th> <th class="coldimanche" >Dimanche</th> <th class="coldatelim">Date Limite</th> <th class="colstatut">Statut</th> <th class="colorganisateur">Organisateur</th> <th class="coldiscipline">Discipline</th> </tr> <?php //On recupere les données des concours $req = mysql_query("SELECT id, samedi, dimanche, date_limite, statut, organisateur, affichage, discipline FROM concours order by id *1"); while($dnn = mysql_fetch_array($req)) { //changement de couleur pour les mots ouvert ou ferme $color=""; if ($dnn['statut']=='OUVERT') { $color='green'; } else if ($dnn['statut']=='FERME') { $color='red'; } ?> <script type="text/javascript"> $(".jour").click(function(event){ $(".id").attr("checked", false); $("input[name='samedi']").attr("checked", false); $("input[name='dimanche']").attr("checked", false); var $jour = $(this); $jour.attr("checked", true); $jour.parent().parent().find("td:first").find("input").attr("checked", true); }) </script> <tr bgcolor="#e9e9e9"> <td><input type="radio" class="id" name="id" value="<?php echo $dnn['id']; ?>" required><?php echo $dnn['id']; ?></td> <td><input type="radio" class="jour" name="samedi" value="<?php echo $dnn['samedi']; ?>" /><?php echo $dnn['samedi']; ?></td> <td><input type="radio" class="jour" name="dimanche" value="<?php echo $dnn['dimanche']; ?>" /><?php echo $dnn['dimanche']; ?></td> <td style="color:red"><?php echo $dnn['date_limite']; ?></td> <td style="color:<?php echo $color ?>"><?php echo $dnn['statut']; ?></td> <td><?php echo $dnn['affichage']; ?></td> <td style="color:blue"><?php echo $dnn['discipline']; ?></td> </tr>
85 22/02/2014 23/02/2014 FERME CIE ARC FONTAINEBLEAU AVON Tir en Salle
86 14/03/2014 16/03/2014 FERME LES ARCHERS D OZOIR Tir en Salle
87 22/03/2014 23/03/2014 FERME LES ARCHERS SURESNOIS Tir en Salle
0
j'ai un 0 affiché en dernière ligne donc ce qui pose souci
Partager