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

PHP & Base de données Discussion :

Affichage auto de champs par clic sur liste déroulante


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 23
    Points
    23
    Par défaut Affichage auto de champs par clic sur liste déroulante
    Hello World!

    Je développe une page php pour gérer une table (ID,title,content) pour ajouter, supprimer ou modifier des données.

    La création du menu déroulant ne pose pas de problème.

    Par contre, rendre actives les données de la table rapportées dans la balise <option> pour qu'elles affichent le contenu de la table dans un <input> et un <textarea> (dans la même page a priori) me pose difficultés.

    Voici mon code :

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    <style type="text/css" media="screen">
    	@import url("general.css");
    </style>
     
    <body class="pop">
     
    <center>
    <br />
    	<form>
     
    		<!-- l'attribut onchange permet d'exécuter le lien sans "button" -->
     
    		<select name="menu" size="1" onchange="navigate(editor)">
    		<option selected value=""><p>  ------ Expression à Modifier ------  </p>
    <?php
     
    	// Déclarations de variables prédéfinies
    		$title = $_GET['title'];
    		$content = $_GET['content'];
     
    	// Connexion à la db & à la table
    		require('functions_lexi_db.php');
     
    	// Récupérer le titre des données pour les afficher dans le menu déroulant
    		$sql = "SELECT title FROM lexique ORDER BY title";
    		$request = mysql_query( $sql, $link ) ; //$link fait appel aux paramètres de connexion
    										      // contenus dans functions_lexi_db.php
     
    		//On fait une boucle répétée autant de fois qu'il existe des données
    		while($result=mysql_fetch_object($request)) 
     
    			{ // Génère les lignes du menu value=\"edit_form_lexique.php\"
    				echo "<option><p>".$result->title."</p></option>\n";
    			}
     
    ?>
    		</select>
    	</form>
    </center>
     
    <?php
     
    	// Si l'utilisateur clique sur une expression dans le menu déroulant
     
    		if(!isset($_GET['title'])) 
    			{
    				$sql = "SELECT COUNT(title,content) FROM lexique WHERE title = ".$title; 
    				$requete = mysql_query($sql,$link) ; //$link fait appel aux paramètres de connexion contenus dans functions_lexi_db.php
     
    	// Caractères spéciaux dans le textarea - Tuto ASPPHP.net
    		function tarea($txt) 
    			{ 
    				return str_replace("<","&lt;",str_replace("&","&amp;",$txt)) ; 
    			}
     
    			if(!$requete)
    				{
    					echo '<p>Impossible d\'exécuter le requete !</p>';
    					exit;
    				}
    			else
    				{
    ?>
     
    <form name="editor" action="edit_lex.php" method="post">
        <table border="0">
          <tr>
            <td><p><b>Terme</b></p></td>
             <td><p><input type="text" name="title" maxlength="60" size="20" value="<?php echo tarea($title) ; ?>"</p></td>
          </tr>
          <tr>
            <td><p><b>Définition</b></p></td>
            <td><p><textarea name="content" wrap=virtual rows=10 cols=35 value="<?php echo tarea($content) ; ?>"></textarea></p></td>
          </tr>
          <tr>
            <td colspan="2"><center><input type="submit" value="Modifier !"></center></td>
          </tr>
        </table>
    </form>
    <?php
    				}
    			}
     
    		else
    			{
    			echo '<p>Veuillez sélectionner une expression !</p>';
    			}
     
    mysql_close();
     
    ?>
    </body>
    Cela m'affiche page introuvable...

    Je nage un peu depuis quelques temps... Donc je vous remercie par avance pour vos suggestions / pistes ... ou tout élément qui vous paraît important et que j'aurais oublié...

    Merci !

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 23
    Points
    23
    Par défaut
    Je parcours (je hante à ce niveau là....) le forum à la recherche d'indices ou de pistes après avoir lu quelques uns des tutos.

    Ce post là
    http://developpez.net/forums/showthr...ight=affichage

    correspond à mon problème.
    Si je veux éviter le javascript, quelqu'un aurait un tuyau ?

    Un grand débutant en appelle aux âmes charitables de ce site...

    Merci

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Je ne comprends pas ta fonction
    navigate(editor)
    par contre si elle fait ce que tu dis elle doit prendre en paramètre la valeur de option pour la transféré dans ton input MAIS le problème c'est que dans tes <option> tu n'as aucune valeur ... ce qui explique que ca t'affiche page introuvable.

    Essaye ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    { // Génère les lignes du menu value=\"edit_form_lexique.php\"
    				echo "<option value=\"".$result->title."\"><p>".$result->title."</p></option>\n";
    			}

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 23
    Points
    23
    Par défaut
    Merci Grabriel

    Je continue mes recherches sur mon code car il y a pas mal de choses qui ne vont pas... notamment la fonction jscript (je n'y connais rien et suis en plein dans les tutos... puisque ça semble être un élément important pour mon projet).

    j'avais bien rajouté une value dans l'option (quel naze j'ai copié une page que je n'ai pas enregistrée ), mais je crois que mon problème se situe au moment où je récupère la valeur avec la globale $_GET.

    Bref, je suspends et je reviens :-)

Discussions similaires

  1. Créer des champs par clic sur un bouton
    Par Grassii dans le forum JSF
    Réponses: 2
    Dernier message: 21/04/2015, 12h47
  2. Réponses: 0
    Dernier message: 20/06/2009, 09h12
  3. verrouiller les champs par clic sur un bouton
    Par rasta girl dans le forum IHM
    Réponses: 10
    Dernier message: 19/06/2007, 16h10
  4. [MySQL] Affichage de données après click sur liste déroulante
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/01/2006, 12h08
  5. charger nouvelle page par clic sur bouton (pas pop-up)
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/09/2005, 16h04

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