Afficher le résulat après un click boutton sur la même page

Fermé
bloomingdals - 8 juil. 2013 à 11:14
bloomingdals Messages postés 74 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 6 août 2013 - 8 juil. 2013 à 16:25
Bonjour,
j'ai une page web avec quelques graphes et qui contient juste en dessous un champs de saisie et un boutton qui permettent à un utilisateur de trouver une données bien déterminé.
le code qui s'exécute en cliquant sur le bouton est un select sur une table SQL qui utilise ce que l'utilisateur a saisi dans le champs texte.
je voudrais permettre l'affichage du résultat ed la requête select dans un label juste en dessous du bouton c'est à dire sur la même page.
j'ai essayé plein de méthode mais les codes que j'ai écrit permettent soit l'affichage du résultat dans une autre page, soit de rester sur la même page sans aucun affichage.
je n'arrive pas à faire les deux.
Merci pour votre aide
A voir également:

2 réponses

astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024 1 637
8 juil. 2013 à 14:56
slt

essaye ça.
Je ne t'ai pas mis les param de connexion, je suppose que tu passe par un fichier include !
je ne sais pas ce que tu récupère de ton form, alors j'ai mis un champ texte

<form name="BTN" method="post" action="">
<input name="texte" type="text" />
<input type="submit" name="bouton" value="Envoyer" >
</form>

<!--affichage du label à mettre ou tu veux-->
<?php   
if (isset($_POST['bouton']))
{
$texte = $_POST['texte'];
$query=("SELECT * FROM ta_base WHERE texte='$texte'");
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{
if(!empty($donnees)) { echo '<label for="label_1">La donnée est: '.$val['valeur'].'</label>'; } 
}
}
?>
<!--affichage du label à mettre ou tu veux-->

0
bloomingdals Messages postés 74 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 6 août 2013 2
8 juil. 2013 à 16:25
Merci pour ta réponse, j'ai fini par utiliser ajax pour cette opération et ça a bien fonctionné.
j'ai essayé de modifier mon script php (qui fait le traitement quand le bouton est cliqué) en ajoutant un test sur la valeur saisie par l'utilisateur dans le champs texte et de renvoyer une boite d'alerte en fonction de la valeur.
le problème est que les boite d'alertes me pose les problème suivant:
- d'abord elles ne sont jamais affiché au premier essai, il faut a chaque fois que je refasse la saisie et le click pour voir la boite d'alerte'
- le cas ou le code php ne retourne rien n'est pas traité (je ne voiss pas la boite qui lui correspond).

voici mon code ajax:
 $('#button1').click(function() {
            var prefix = $('#prefix').val();
            $.post('/Routing/number_of_prefixes.php', { prefix:prefix }, function(data) {
               if (data != null) {
                      $('#result').html(data);
                   
               }  
        });
    });


et voici mon code php
<?php
 $db = mysql_connect('localhost', 'root', 'Orange2424');
 mysql_select_db('INX',$db)  or die('Erreur de sélection '.mysql_error());

   $as = $_POST['prefix'];   
    if (($as >= 65512) && ($as <= 65535)) 
    {
      echo "<script language=javascript> alert(\"Please enter a public ASN\");</scrip t>"; 
    }
      
    else if (($as < 1) || ($as > 65535))
    {
       echo "<script language=javascript> alert(\"Invalid ASN\");</scrip t>"; 
    }
    
     else
    {
      $query2 = mysql_query("SELECT Number_of_Prefixes from Route_Per_AS where AS_num='".$as."'");  
      while($donnees2 = mysql_fetch_array($query2)) { 
      $number2 = intval($donnees2["Number_of_Prefixes"]);
       }
      if ($number2 != null)
        {
           echo "AS $as advertises $number2 route(s)";
        }
      else
        {
          echo "<script language=javascript> alert(\"No informations currently available for this AS\");</scrip t>"; 
        }
    }
?>

merci
0