IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Insertion de données dans un tableau [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Insertion de données dans un tableau
    Bonjour à tous,


    J'ai un tableau dans lequel je veux entrer des données que je vais chercher dans la bd selon divers filtres.

    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
    66
    67
    68
    69
    <form method="post" action ="">
    			<table class="display" id="filtreRecherche">
    				<tbody>
    					<th>
    						<label for="filtreOperateur"><strong>Filtre opérateur : </strong></label>
    						<select id="filtreOperateur" size="1">
    							<option value="">Choisir un opérateur</option>
    							<?php
    								$reqListeOperateur = $bdd->prepare('SELECT loginUtilisateur FROM UTILISATEUR WHERE idGroupe = 1 or idGroupe = 4');
    								$reqListeOperateur->execute();
    								while($resultat = $reqListeOperateur->fetch())
    								{
    									print "<option value='".$resultat['loginUtilisateur']."'>".$resultat['loginUtilisateur']."</option>";
    								}
    							?>
    						</select>
    					</th>
    					<th>
    						<label for="filtreDate1"><strong>Filtre date 1 : </strong></label>
    						<input type="text" class="form-field datepicker" id="filtreDate1">
    					</th>
    					<th>
    						<label for="filtreDate2"><strong>Filtre date 2 : </strong></label>
    						<input type="text" class="form-field datepicker" id="filtreDate2">
    					</th>
    					<th>
    						<label for="filtreConteneur"><strong>Filtre conteneur : </strong></label>
    						<select id="filtreConteneur" size="1">
    							<option value="">Choisir un conteneur</option>
    							<?php
    								$reqListeTypeConteneur = $bdd->prepare('SELECT libelleTypeConteneur FROM TYPECONTENEUR');
    								$reqListeTypeConteneur->execute();
    								while($resultat = $reqListeTypeConteneur->fetch())
    								{
    									print "<option value='".$resultat['libelleTypeConteneur']."'>".$resultat['libelleTypeConteneur']."</option>";
    								}
    							?>
     
    						</select>
    					</th>
    					<th>
    						<input type="submit" name="btnRecherche" id="btnRecherche" value="Rechercher">
    					</th>
    				</tbody>
    			</table>
    			</form>
    		</div>
    		<div class="box-content" style="display: block;">
    			<table class="display" id="tabledata">
    				<thead class="table-header">
    					<tr>
    						<th>Conteneur</th>
    						<th>Conteneur pyro</th>
    						<th>Unite 1</th>
    						<th>Unite 2</th>
    						<th>Détonateur 1</th>
    						<th>Détonateur 2</th>
    						<th>Cordeau</th>
    						<th>Flacon</th>
    						<th>Colorant</th>
    						<th>Shunts enlev&eacute;es</th>
    						<th>Commentaires</th>
    						<th>Modification</th>
    					</tr>
    				</thead>
    				<tbody>
    					<?php include './includes/functions/function.tabRechercheEtModif.php'; ?>
    				</tbody>
    			</table>
    J'essaye de rentrer mes données par l'include qui est dans le tbody (pas la bonne façon ?)

    Voici une partie de ce 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
    if(isset($_POST['btnRecherche']))
    	{
     
    		$sth = $bdd->prepare('SELECT idUtilisateur FROM UTILISATEUR WHERE loginUtilisateur = ?');
    		$sth->execute(array($_POST['filtreOperateur']);
    		$row = $sth->fetch(PDO::FETCH_ASSOC);
    		$idUtilisateur = $row['idUtilisateur'];
     
     
    		$sth = $bdd->prepare('SELECT idTypeConteneur FROM TYPECONTENEUR WHERE libelleTypeConteneur = ?');
    		$sth->execute(array($_POST['filtreConteneur']);
    		$row = $sth->fetch(PDO::FETCH_ASSOC);
    		$idTypeConteneur = $row['idTypeConteneur'];
     
    		/**
    		 * Si les trois filtres sont saisies
    		 */
    		if(($_POST['filtreOperateur'] != "") AND ($_POST['filtreDate1'] != "") AND ($_POST['filtreDate2'] != "") AND ($_POST['filtreConteneur'] != ""))
    		{
    			//execution de la requête pou récup idMontage
    			$select3Filtres->execute(array(
    											'date1'           => $_POST['filtreDate1'],
    											'date2'           => $_POST['filtreDate2'],
    											'idUtilisateur'   => $idUtilisateur,
    											'idTypeConteneur' => $idTypeConteneur
    										  )
    									);
     
    			//temps qu'il y a des montage
    			while($resultat = $select3Filtres->fetch())
    			{
     
    				$idMontage = $resultat['idMontage'];
     
    				idMontage($idMontage);
    				//execution de la requête pour récupérer les composants correspondants au montage
    				$selectComposant->execute(array($idMontage));
     
    				//création des cellules
    				echo '<tr class="odd">';
    				echo '<td>'.$codeConteneur.'</td>';
    				echo '<td>'.$codeConteneurPyro.'</td>';
    				//temps qu'il y a des composant
    				while($composant = $selectComposant->fetch())
    				{
    					echo '<td>'.$composant['codeComposant'].'</td>';
    				}
    				echo '<td>'.$nbShunt.'</td>';
    			}
    Je veux entrer mes données seulement lorsque l'utilisateur clique sur le bouton et je vérifie ça avec isset($_POST['btnRecherche']) (c'est la bonne façon ?)
    J'ai corrigé toutes les erreurs, mes requêtes sont bonnes etc.

    Résultat : je saisies mes filtres, je clique sur le bouton mais rien ne se passe.
    Du coup je voudrais savoir si cette façon de faire peut fonctionner et si oui, ce que j'ai mal fait.

    Merci à ceux qui prendront le temps de lire et de répondre.
    Si vous avez besoin de plus de précisions, dites le moi !

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'ai rajouté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script>
     console.log("clique bouton");
    </script>
    Après mon test de clique sur le bouton. Il capte bien mon clique sur le bouton mais j'obtiens des erreurs :

    Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 95 Notice: Undefined index: filtreConteneur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 101 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 108 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 145 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 180 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 215 Notice: Undefined index: filtreDate1 in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 215 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 251 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 282 Notice: Undefined index: filtreDate1 in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 282 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 313 Notice: Undefined index: filtreDate1 in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 313 Notice: Undefined index: filtreOperateur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 341 Notice: Undefined index: filtreDate1 in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 341 Notice: Undefined index: filtreDate2 in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 341 Notice: Undefined index: filtreConteneur in /var/www/Plateforme/includes/functions/function.tabRechercheEtModif.php on line 341 Veuillez renseigner au moins 1 filtre
    J'en déduis qu'il ne connais pas mes champs qui sont envoyés (ou pas du coup) quand je clique sur le bouton et donc il effectue l'action approprié au fait qu'aucun filtre n'est renseigné : "Veuillez renseigner au moins 1 filtre".

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    A mon avis, le problème vient du fait que tes champs n'ont pas d'attribut name.
    Au passage, plutot que tester if ($_POST['mon_champ'] != ""), utilise plutôt if (!empty($_POST['mon_champ'] )), qui gèrera les champs vides de façon plus propre (notamment en t'évitant les fameuses notices "Undefined index" )

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse !

    En effet le erreurs venaient de ça !

    Seulement maintenant, le résultat : "Veuillez renseigner au moins 1 filtre" pour le cas où rien n'est renseigné (pour les autres j'ai des erreurs mais ça doit venir de problème de syntaxe dans le traitement, je m'en sortirais surement), la phrase s'affiche mais pas le tableau.

    Avant le clique : Nom : avant.PNG
Affichages : 62
Taille : 35,8 Ko

    Après le clique : Nom : apres.PNG
Affichages : 71
Taille : 26,2 Ko


    Nom : phrase.PNG
Affichages : 67
Taille : 8,8 Ko


    Et dans la console j'ai :

    Nom : console.PNG
Affichages : 66
Taille : 17,7 Ko

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu utilises visiblement un composant JS pour mettre en forme ton tableau et il a l'air de ne pas aimer l'absence de lignes. Peut être vaudrait-il mieux ne pas afficher de tableau du tout quant tu n'as pas de résultat ou éventuellement mettre une ligne vide.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'utilise un template (pas moi qui ai choisi) et je pense que les problèmes viennent de là.

    En effet, même quand je rentre des filtres, il me ressort les résultats mais me déglingue toujours le tableau
    avec toujours le même message en console.

    Nom : filtre.PNG
Affichages : 104
Taille : 26,6 Ko

    En tout cas merci à toi d'avoir pris le temps de me répondre.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2015
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé ! En fait c'était tout bidon, il suffisait de suivre ce qui était marqué en console.
    Il est pas content s'il n'y a pas 12 cellules dans la ligne.


    Encore merci à toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion de données dans un tableau depuis EXCEL VBA
    Par reda120 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/12/2013, 12h11
  2. [XL-2007] Insertion de données dans un tableau via textBox
    Par toushusss dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/05/2011, 16h24
  3. Insertion de données dans un tableau
    Par PsyKoptiK dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 12/04/2011, 21h22
  4. [MySQL] Insertion de donnée dans un tableau array
    Par guigui69 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/06/2008, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo