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 :

mysql retourner une valeur float [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut mysql retourner une valeur float
    Bonjour,

    J'ai crée un autocomplete, lors d'une recherche si la valeur est entière ou est .5 le résultat est retourné.
    Par contre lorsque le résultat est .1 ou .2 ou .3 etc.., je n'ai pas le retour...

    Dans ma table dp le champ diametro est de type float
    [

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (isset($_POST['m'])){
       			$Calibro = htmlspecialchars($_POST['m']); 				
    			$retour_messages=$bdd->query("SELECT * FROM dp where diametro = '$Calibro' LIMIT $premiereEntree, $messagesParPage"); 							 					
       		}
    		else {
    			 $retour_messages=$bdd->query('SELECT * FROM dp ORDER BY diametro ASC LIMIT '.$premiereEntree.', '.$messagesParPage.'');	
    		}
    merci d'avance pour les réponses !

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Bonjour,

    si diametro est de type float tu ne dois pas l'utiliser comme une string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Calibro = floatval($_POST['m']); // et non pas htmlspeciachars qui ne sert à rien à l'insertion (encore plus sur un float)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $retour_messages=$bdd->query("SELECT * FROM dp where diametro = $Calibro LIMIT $premiereEntree, $messagesParPage"); // on retire les ' ' qui sont synonyme de chaîne de caractère
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    Avec ces changements pour l'instant je n'ai pas de modification du résultat...

    Plus haut dans 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
     
    if (isset($_POST['m'])){
       			$Calibro = floatval($_POST['m']); 
    			$reponse = $bdd->query("SELECT * FROM dp ORDER BY diametro ASC"); 	
    			$retour_total = $bdd->query("SELECT COUNT(*) AS total FROM dp where diametro = $Calibro");						 					
       		}
    		else {
    			$reponse = $bdd->query('SELECT * FROM dp ORDER BY diametro ASC');	
    			$retour_total = $bdd->query('SELECT COUNT(*) AS total FROM dp');	
    		}     
     
     
    		$donnees = $retour_total->fetch();//On range retour sous la forme d'un tableau.	
    		$total=$donnees['total']; //On récupère le total pour le placer dans la variable $total.
     
          		if ($total > 0) { ?>
     
          	<div class="row">
           		<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
    	       	<thead>
    	       		<tr class="info c">  
    	       		 <th>Quantità</th> 
    		        <th>Diametro</th>    		        
    		        <th>Prezzo</th>		      
    		        <th>Riferimento</th>              
         			</tr>
    			</thead>
    		</div>
     
    		<?php
    		} 
    		else{
    			echo "nessun risultato !";
    		}
    Lors de la recherche

    Si j'entre :10, j'ai le retour du résultat !

    Si j'entre: 13.5, j'ai le retour du résultat !

    Si j'entre: 11.1 (valeur enregistrée dans la table ) , j'ai : nessun risultato !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    En fait l'autocomplete fonctionne il renvoie les valeurs: 10, 11.1, 12.3, etc...

    Je sélectionne une valeur et ensuite cette valeur est transférée dans un imput (m), voir 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
     
    <div class="row">
           		<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8">       			
           			<form method="post" action="dp2.php">
    				  <div class="form-group">
    				    <label for="m" class="c">Diametro</label>
    				    <input type="text" class="form-control" id="m" name="m" autocomplete="off" onKeyUp="autocompleteX(this.value)" placeholder="Inserire un numero">				  	
    				  </div>
     
    				  <div id="suggest" autocomplete="off" class="hidden-xs sug"></div>
     
    				  <button type="submit" class="btn btn-success" aria-label="Left Align" data-toggle="tooltip" data-placement="bottom" title="Cherca">
    				  		<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
    				  </button>
    				  &nbsp;&nbsp;
    				   <button type="button" class="btn btn-info zed" aria-label="Left Align" data-toggle="tooltip" data-placement="bottom" title="Chiudi" onclick="document.location='dp2.php'">
    				  		<span class="glyphicon glyphicon-remove-circle" aria-hidden="true"></span>
    				  </button>
    				</form>
    			</div> 
    		</div>
    C'est à l'envoi du formulaire que seule les valeurs entières ou .5 sont retournées !

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Que retourne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump(floatval($_POST['m']));
    La première étape est de savoir ce que tu reçois comme valeur coté PHP. Si c'est pas la valeur attendu c'est que le problème vient du coté html/javascript et n'a rien à voir avec ta base de données
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    OK donc à priori cette valeur correpsond à ce que tu as tapé dans ton input ?

    LA seconde étape va être d'executer ta requête avec cette valeur 11.1 en dehors de PHP :
    Tu prend ta requête tu la colle dans phpmyadmin ou autre outil équivalent.

    Si tu obtient un résultat => Le problème vient de ton code PHP
    Si tu n'obtient pas de résultat => Ton script fonctionne normalement.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    j''ai trouvé la bon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (isset($_POST['m'])){
       			$Calibro = floatval($_POST['m']); 				
    			$retour_messages=$bdd->query("SELECT * FROM dp where ROUND(diametro,1) = $Calibro LIMIT $premiereEntree, $messagesParPage"); 							 					
       		}
    		else {
    			 $retour_messages=$bdd->query('SELECT * FROM dp ORDER BY diametro ASC LIMIT '.$premiereEntree.', '.$messagesParPage.'');	
    		}
    Il fallait utiliser la fonction ROUND

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

Discussions similaires

  1. [vb.net] retourner une valeur dans l'evenement click
    Par graphicsxp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/05/2005, 13h06
  2. [VB.Net]Procédure Stocké retournant une valeur
    Par waldo2188 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/05/2005, 12h56
  3. Réponses: 7
    Dernier message: 15/03/2005, 14h44
  4. fonction retournant une valeur
    Par ryan dans le forum ASP
    Réponses: 4
    Dernier message: 06/09/2004, 17h45
  5. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37

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