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 :

Problème exécution javascript dans echo php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut Problème exécution javascript dans echo php
    J'ai ce script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript">
    function getValue(t){
    var myVal;
    myVal = document.getElementById('Valeur').value;
    myVal = t;
    document.getElementById('Valeur').value = myVal;
    }
    </script>
    et le php suivant et quand j'exécute, rien ne fonctionne sachant que lorsque je clique sur mon parametre, il est censé s'écrire dans le champ valeur. Voici le php. Merci.

    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
     
    <?php
     
    $q=$_GET["q"];
     
    $con = mysql_connect('127.0.0.1', 'root', '');
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("test", $con);
     
    $sql="SELECT Parametre FROM parametres_regime WHERE ID_Parent = (SELECT ID_Regime_sec FROM parametres_regime WHERE Parametre = '".$q."')";
     
    $result = mysql_query($sql);
     
    echo "<table border='0' cellpadding='5' cellspacing='5'>
    <tr class='table_entete'>
    <th>Selection</th>
    </tr>";
     
    while($row = mysql_fetch_array($result))
      {
      echo "<tr>";
    echo "<td><a href='#' onclick='getValue()'>". $row['Parametre'] ."</a><td>";  
      echo "</tr>";
      }
     
    echo "</table>";
    echo "<p></p>";
    echo "<label for='Valeur'><strong>Valeur</strong></label> <input type='text' name='Valeur' id='Valeur' size='60' />";
    mysql_close($con);
    ?>

  2. #2
    Membre régulier Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Points : 72
    Points
    72
    Par défaut
    j'ai pas pris assez de temps pour regarder ton scipt mais j'aimerai que tu verifies ces points
    primo

    _ ta fonction javascript getValue(t) reçoit une variable en parametre et lorsque tu l'appel tu ne lui transmet rien onclick='getValue().
    a l'appel de ta fonction tu dois lui transmettre une valeur en parametre *


    quand tout cela sera fait on vera la suite
    a tout a l'heure
    Ecouter, observer avant de parler c'est être responsable

  3. #3
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Bonjour,

    Moi je ne comprends l'intérêt de ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myVal = document.getElementById('Valeur').value;
    myVal = t;
    A quoi sert la première étant donné que tu écrases cette valeur juste derrière ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    Effectivement, tu as raison. J'ai rectifié mais ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<td><a href='#' onclick='getValue('".$row['Parametre']."')'>". $row['Parametre'] ."</a><td>";

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    Salut FirePrawn,

    Prend ce script et exécute le et tu comprendras ce que je veux faire:
    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
     
    <html>
    <header>
    <title>test</title>
    <script type="text/javascript">
    function getValue(t){
    var myVal;
    myVal = document.getElementById('Valeur').value;
    myVal = t;
    document.getElementById('Valeur').value = myVal;
    }
    </script>
    </header>
    <body>
    <a href="#" onclick="getValue('apple')">apple</a>
    <a href="#" onclick="getValue('banana')">banana</a>
    <a href="#" onclick="getValue('tomato')">tomato</a>
     
    <input type="text" id="Valeur" name="Valeur" value="">
    </body>
    </html>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function getValue(myVal){
    	var myVal;
    	document.getElementById('Valeur').value = myVal;
    }
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:getValue('<?php echo addslashes(htmlspecialchars($row['Parametre'])); ?>');"><?php echo $row['Parametre']; ?></a>

  7. #7
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function getValue(myVal){
    	var myVal;
    	document.getElementById('Valeur').value = myVal;
    }
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:getValue('<?php echo addslashes(htmlspecialchars($row['Parametre'])); ?>');"><?php echo $row['Parametre']; ?></a>
    On est bien d'accord, ça tient en 2 lignes... Je commençais à me dire que j'étais vraiment devenu fou ( ou nul ).
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par FirePrawn Voir le message
    On est bien d'accord, ça tient en 2 lignes...
    C'est clair.

    @lemzo84 : explique-nous ce que tu veux faire exactement :
    il existe peut-être une autre solution, ou une solution plus élégante ...

    Pourquoi afficher des mots, puis en afficher un dans un input (quand on clique dessus),
    -> alors qu'un select dans le formulaire ferait parfaitement l'affaire ?
    -> ou un select + un input avec le même name (si on veut mettre une valeur qui n'est pas dans la liste)

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    Salut, quand je copie ton code, j'ai l'erreur suivant:

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\Program Files\EasyPHP-5.3.6.0\www\base\get_parametre.php on line 51

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lemzo84 Voir le message
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\Program Files\EasyPHP-5.3.6.0\www\base\get_parametre.php on line 51
    Je veux bien te répondre, mais c'est-quoi-donc, la ligne 51 ??

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    C'est la ligne echo

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    Désolé, c'est celle-là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:getValue('<?php echo addslashes(htmlspecialchars($row['Parametre'])); ?>');"><?php echo $row['Parametre']; ?></a>

  13. #13
    Invité
    Invité(e)
    Par défaut
    C'est toujours utile de donner aussi (au moins) la ligne juste avant ...
    -> mets-en plusieurs ! on gagnera un message !

  14. #14
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    <?php

    $q=$_GET["q"];

    $con = mysql_connect('127.0.0.1', 'root', '');
    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("test", $con);

    $sql="SELECT Parametre FROM parametres_regime WHERE ID_Parent = (SELECT ID_Regime_sec FROM parametres_regime WHERE Parametre = '".$q."')";

    $result = mysql_query($sql);

    echo "<table border='0' cellpadding='5' cellspacing='5'>
    <tr class='table_entete'>
    <th>Selection</th>
    </tr>";

    while($row = mysql_fetch_array($result))
    {
    echo "<tr>";
    echo "<a href="javascript:getValue('<?php echo addslashes(htmlspecialchars($row['Parametre'])); ?>');"><?php echo $row['Parametre']; ?></a>";
    echo "</tr>";
    }

    echo "</table>";
    echo "<p></p>";
    echo "<label for='Valeur'><strong>Valeur</strong></label> <input type='text' name='Valeur' id='Valeur' value='' size='60' />";
    mysql_close($con);
    ?>

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    Désolé, j'ai oublié la balise 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
     
    <?php
     
    $q=$_GET["q"];
     
    $con = mysql_connect('127.0.0.1', 'root', '');
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
     
    mysql_select_db("test", $con);
     
    $sql="SELECT Parametre FROM parametres_regime WHERE ID_Parent = (SELECT ID_Regime_sec FROM parametres_regime WHERE Parametre = '".$q."')";
     
    $result = mysql_query($sql);
     
    echo "<table border='0' cellpadding='5' cellspacing='5'>
    <tr class='table_entete'>
    <th>Selection</th>
    </tr>";
     
    while($row = mysql_fetch_array($result))
      {
      echo "<tr>";
    echo "<a href="javascript:getValue('<?php echo addslashes(htmlspecialchars($row['Parametre'])); ?>');"><?php echo $row['Parametre']; ?></a>";
      echo "</tr>";
      }
     
    echo "</table>";
    echo "<p></p>";
    echo "<label for='Valeur'><strong>Valeur</strong></label> <input type='text' name='Valeur' id='Valeur' value='' size='60' />";
    mysql_close($con);
    ?>

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    -> mets-en plusieurs ! on gagnera un message !
    Et bin non ...
    As-tu vu qu'il y a un bouton "Editer" en bas à droite dans tes messages ?
    Ca permet de corriger un message (au lieu d'en écrire un autre) ...

    Bref !
    Le fait est que tu mets des echo'....;' un peu à tort et à travers.
    Personnellement, je conseille de "sortir" le code html du code php.

    Pour info :
    on met des <td> dans les <tr> ...

  17. #17
    Membre régulier Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Points : 72
    Points
    72
    Par défaut
    je rejoinds jreaux62
    mieux vaut separer les codes pour une bonne vision
    Ecouter, observer avant de parler c'est être responsable

  18. #18
    Invité
    Invité(e)
    Par défaut
    regarde la différence avec ton 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
    <?php
    $q=$_GET["q"];
    $con = mysql_connect('127.0.0.1', 'root', '');
    if (!$con)
    {
    	die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("test", $con);
    $sql="SELECT Parametre FROM parametres_regime WHERE ID_Parent = (SELECT ID_Regime_sec FROM parametres_regime WHERE Parametre = '".$q."')";
    $result = mysql_query($sql);
    ?>
     
    <table border="0" cellpadding="5" cellspacing="5">
    	<tr class="table_entete">
    		<th>Selection</th>
    	</tr>
    <?php
    	while($row = mysql_fetch_array($result))
    	{
    ?>
    	<tr>
    		<td>
    		<a href="javascript:getValue('<?php echo addslashes(htmlspecialchars($row['Parametre'])); ?>');"><?php echo $row['Parametre']; ?></a>
    		</td>
    	</tr>
    <?php
    	}
    ?>
    </table>
    <p>
    	<form method="post" action="">
    		<label for="Valeur"><strong>Valeur</strong></label> <input type="text" name="Valeur" id="Valeur" value="" size="60" />
    	</form>
    </p>
    <?php
    mysql_close($con);
    ?>
    Dernière (?) remarque :
    - un <input ...> se met dans un formulaire <form ...>

    Prends le temps de lire ca : PHP : Le tutoriel pour grands débutants pressés
    On y trouve plein de bons conseils !

  19. #19
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut
    Effectivement c'est lisible mais le script js ne s'exécute pas

  20. #20
    Invité
    Invité(e)
    Par défaut
    Je n'y peut rien si tu te contentes de donner que des "bouts" de code ...
    On ne sais même pas si tu as corriger la fonction javascript ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de syntaxe javascript dans mail PHP
    Par kck61 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/11/2011, 11h44
  2. Réponses: 2
    Dernier message: 31/08/2006, 11h44
  3. [PHP-JS] du javaScript dans du php ?
    Par Tempotpo dans le forum Langage
    Réponses: 7
    Dernier message: 03/04/2006, 17h34
  4. [debutant] [PHP-JS] Comment faire appel a du javaScript dans du php
    Par Tempotpo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/04/2006, 16h19
  5. [PHP-JS] Comment insérer du javascript dans mon php
    Par tioseb dans le forum Langage
    Réponses: 1
    Dernier message: 16/02/2006, 17h04

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