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 :

Remplir Tableau HTML en PHP


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Points : 56
    Points
    56
    Par défaut Remplir Tableau HTML en PHP
    Bonjour à tous,

    J'ai une page web avec un formulaire contenant divers contrôle, une div contenant un tableau (avec juste les entêtes).
    Lorsque je vais activer l'évènement onkeypress d'un input de mon formulaire, je souhaite allez chercher dans ma base de données des informations lié à ce que j'écris dans mon input.
    Je voudrais afficher ces informations dans mon tableau "dynamiquement".

    Mon tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <center><table style="border-collapse: collapse;">
    					<tr>
    						<th style="border: 1px solid white; color:white;">id</th>
    						<th style="border: 1px solid white; color:white;">nom</th>
    					</tr>
    				</table></center>
    Ma fonction JS onkeypress :

    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
    function histo_load(){
    						<?php
    						$Host = "localhost";
    						$User = "root";
    						$Password = "XXX";
    						$Database = "XXX";
     
    						$idConnect = mysql_connect( $Host, $User, $Password)
    							     or die( "Connexion impossible.");
    						$db = mysql_select_db( $Database, $idConnect)
    							     or die( "Accès base impossible.");
    						$rqSql_histo = "SELECT id, nom FROM User ORDER BY nom ASC";
    						$result_histo = mysql_query( $rqSql_histo, $idConnect)
    							     or die( "Exécution requête impossible.");
    						mysql_close( $idConnect); 
     
    						$ld_histo .= "<tr>";
    						while ( $row_histo = mysql_fetch_array( $result_histo)) {
    						    $id_histo = $row_histo["id"];
    						    $histo = $row_histo["nom"];
    						    $ld_histo .= "<td> '$id' </td>";
    						    $ld_histo .= "<td> '$nom' </td>";
    						}
    						$ld_histo .= "</tr>";
    						mysql_close( $idConnect);
    						print $ld_histo;
    						?>
     
     
    			}
    Je ne parviens pas à remplir mon tableau. Sauriez-vous m'aider ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le PHP est executé avant le Javascript donc ça ne peut pas marcher.

    Pour declencher du PHP depuis Javascript il faut utiliser Ajax.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    Je suis un peu nouveau là dedans alors ce que tu m'as dis m'a beaucoup aidé.

    J'ai changé mon code. Désormais je suis confronté à un autre problème, toujours lié au conflit qu'il peut y'avoir en js et php.

    Je récupère la valeur du champ qui m'intéresse dans un cookie, je fais un bref reload de la page en conservant la valeur des champs.

    Jusque là, aucun soucis, j'arrive à récupéré la valeur du cookie en php et l'afficher, mais dès lors que je souhaite m'en servir dans une requête SQL, rien ne se passe.

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rqSql_histo = "SELECT * FROM Historique WHERE ref LIKE '".$ref_wrote."'";
    Je comprends pas car j'arrive à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rqSql_histo = "SELECT * FROM Historique WHERE ref LIKE '%XXXXX%'";
    Et aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"document.getElementById('txt_histo').innerHTML='$ref_wrote';";
    Ce qui prouve bien que ma requête fonctionne, et que j'arrive bien à récupérer ma variable depuis mon cookie.

    Je suis assez perdu.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton système avec un cookie qui sert de tampon ce n'est pas une bonne idée.
    Je suppose que tu n'as jamais vu un site ou il faut rafraîchir la page manuellement pour obtenir le résultat d'une requête.

    Comme je t'ai dis, si tu veux lancer une requête a partir d'un événement javascript, il faut utiliser Ajax.
    Mais comme le rafraîchissement de la page ne semble pas te poser de problème, pourquoi tu n'utilises pas un simple formulaire HTML ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    Tu as raisons, la méthode des cookies n'était pas une bonne idée.

    Je vais donc faire via ajax, cependant, l'utilisation d'ajax me semble pour utilisateur avancé.

    Je ne parviens pas à le faire fonctionner.

    Je déclare jquery.js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="lib/jquery.js"></script>
    Je transmet ma variable js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var param = 'ref=' + $('#REFERENCE').val();
    $('#div_histo').load(xxxx.php',param);
    Cette partie semble fonctionner. C'est la récupération qui me pose problème côté php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ref_wrote=$_GET['ref'];
    Je n'ai rien du tout dans $ref_wrote.

    Les lignes en js ne sont pas censées modifier l'url afin que je puisse récupéré via GET ? Rien ne se passe j'ai toujours l'url xxx.php, ne devrais-je pas avoir xxx.php?ref=xx ?

    EDIT :

    J'ai modifié mon code pour arriver à quelque chose de plus juste je pense, mais qui ne fonctionne toujours pas :


    J'envoi avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $(function(){
    				$('#REFERENCE').click(function(){
    					var param = 'ref=' + $('#REFERENCE').val();
    					$('#REFERENCE').load('xxx.php',param);
    					histo_load();
    				});
    			});
    Et je reçois avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ref_wrote=$_GET['ref'];
    J'ai testé ma requête en figeant ma variable de cette façon et elle s'exécute correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ref_wrote='XXXXX';
    $rqSql_histo = "SELECT * FROM Historique WHERE ref LIKE '%".$ref_wrote."%'";
    Mais lorsque j'essai de passer par la méthode $_GET, ça ne fonctionne pas.

Discussions similaires

  1. [MySQL] tableau html et php
    Par smer38 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/08/2011, 15h58
  2. ouvrir une page dans une cellule d'un tableau html avec php
    Par bahboubacar2 dans le forum Langage
    Réponses: 4
    Dernier message: 31/05/2010, 16h50
  3. mise en forme tableau html et php
    Par rgdu86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/03/2008, 18h49
  4. [Tableaux] trouver taille tableau html en php
    Par eulalie15 dans le forum Langage
    Réponses: 4
    Dernier message: 03/07/2006, 13h47
  5. Réponses: 2
    Dernier message: 20/11/2005, 18h54

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