Résolu Comment déclarer une donnée en pourcentage avec mysql

Solutions (30)
Tags :
  • Input
  • table
  • MySQL
  • Programmation
|
slt à tous j'ai besoin d'aide. dans quel type classe t- on les données en pourcentage(par exemple 23.5%) dans une base de données( moi j'utilise mysql et je gère ma base avec phpmyadmin). j'aimerai donc que vous m'aidezà déclarer mes données en pourcentage que je veux remplir dans la table que j'ai crée. merci d'avance
Contenus similaires
Meilleure solution
partage
, Modérateur |
J'aime pas beaucoup ton ton là...
  • Commenter cette solution |
Score
0
òh
òi
|
Salut,

tu fais un formulaire classique en html

<form action="formulaire.php" method="post">
champ1: <input type="text" name="champ1" /><br />
champ2: <input type="text" name="champ2" /><br />
<input type="submit" value="Envoyer" />
</form>

et a partir du fichier nommé dans le champ action, ici formulaire.php tu traites les données.

<?php

// affiche la variable $_POST qui contient tout les champs de ton formulaire
var_dump($_POST);

?>
A noter qu'il faut que tu vérifies tes données systématiquement, comme la mentionné OmaR avant de les enregistrer dans ta BD.

Voila
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
tu récupères les données dans le tableau $_POST
Après le reste est le même. Il faut juste pas oublier d'échapper les données et de les vérifier avant de les insérer.
  • Commenter cette réponse |
Score
0
òh
òi
|
tu n'a pas de reponse par rapport au sujet que je t'ai soumis!
  • Commenter cette réponse |
Score
0
òh
òi
|
aztequemedia a dit :
Salut,

Peut être pourrais tu mentionner la cause du problème, si tu la résolu.

c'était au niveau du serveur du à une mauvaise manipulation
  • Commenter cette réponse |
Score
0
òh
òi
|
Salut,

Peut être pourrais tu mentionner la cause du problème, si tu la résolu.
  • Commenter cette réponse |
Score
0
òh
òi
|
aztequemedia a dit :
Salut
Les 2 champs suivant sont déclarés comme varchar donc comme de chaine de caractère:

Modifier Effacer callcompletionrate varchar(255) NO NULL
Modifier Effacer callansweringratio varchar(255) NO NULL

Ce n'est pas ce que tu avais écris dans les précédents post

Donc les données que tu va insérer dans ces champs vont être considérer comme tels.

Tu dois aussi enlever les guillemets simple comme mentionné par davvine précédemment, pour tout ce qui est représente des chiffres.

Après çà, dis nous ce qui change ou pas.
A+

MERCI bien j'ai resolu ce pb et j'ai un autre pb. je veux insérer des données dans ma base depuis un formulaire et je n'y arrive pas ; si tu peux me proposer un exemple de code php permettant d'insérer les données via un formulaire; cela m'aiderait à juste modifier en appliquant mes propres valeurs. thanks
  • Commenter cette réponse |
Score
0
òh
òi
|
Salut
Les 2 champs suivant sont déclarés comme varchar donc comme de chaine de caractère:

Modifier Effacer callcompletionrate varchar(255) NO NULL
Modifier Effacer callansweringratio varchar(255) NO NULL

Ce n'est pas ce que tu avais écris dans les précédents post

Donc les données que tu va insérer dans ces champs vont être considérer comme tels.

Tu dois aussi enlever les guillemets simple comme mentionné par crazyprécédemment, pour tout ce qui est représente des chiffres.

Après çà, dis nous ce qui change ou pas.
A+
  • Commenter cette réponse |
Score
0
òh
òi
|
au départ j'ai éssayé de travailler sans les % ; cela n'a eu aucun effet c'est-à- dire que j'avais toujours le meme problème. examine un peu ce que je t'ai envoyé pour savoir si le pb se trouve au niveau des champs. merci
  • Commenter cette réponse |
Score
0
òh
òi
|
aztequemedia a dit :
salut,

A l'aide de phpmyadmin pourrais tu nous donner le code sql de création de ta table stp.
L'erreur viens certainement du fait que tu insères une valeur d'un type non attendu dans un de tes champs.
Essais d'enlever le signe % dans tes valeurs. Je les ai mis en gras ci-dessous.

INSERT INTO `mabd`.`outgoingorangemeasureunit` (`id`, `objectinstance`, `callattempts`, `prematurereleasesbeforeringing`, `mobilesubscriberunreachable`, `peerofficecongestions`, `numberincomplete`, `numberunallocated`, `calledpartybusy`, `othercallfailuresbeforeconnection`, `callsconnected`, `prematurereleaseswhileringing`, `noanswer`, `mobilesubscriberdeterminedbusy`, `othercallfailuresafterconnected`, `callsanswered`, `seizedtraffic`, `callconnectiontraffic`, `answeredtraffic`, `callcompletionrate`, `callansweringratio`) VALUES ('', '2011-06-16 09:00:00', '1761', '44', '0', '1', '0', '0', '1', '4', '1711', '794', '0', '0', '28', '889', '24.05', '21.90', '16.72', '97.16%', '50.48%');

voici la description des champs de ma table:

Textes complets Field Type Null Key Default Extra
Modifier Effacer id int(20) NO PRI NULL auto_increment
Modifier Effacer objectinstance datetime NO NULL
Modifier Effacer callattempts smallint(6) NO NULL
Modifier Effacer prematurereleasesbeforeringing tinyint(4) NO NULL
Modifier Effacer mobilesubscriberunreachable int(11) NO NULL
Modifier Effacer peerofficecongestions int(11) NO NULL
Modifier Effacer numberincomplete int(11) NO NULL
Modifier Effacer numberunallocated int(11) NO NULL
Modifier Effacer calledpartybusy int(11) NO NULL
Modifier Effacer othercallfailuresbeforeconnection int(11) NO NULL
Modifier Effacer callsconnected smallint(6) NO NULL
Modifier Effacer prematurereleaseswhileringing smallint(6) NO NULL
Modifier Effacer noanswer int(11) NO NULL
Modifier Effacer mobilesubscriberdeterminedbusy int(11) NO NULL
Modifier Effacer othercallfailuresafterconnected tinyint(4) NO NULL
Modifier Effacer callsanswered smallint(6) NO NULL
Modifier Effacer seizedtraffic decimal(4,2) NO NULL
Modifier Effacer callconnectiontraffic decimal(4,2) NO NULL
Modifier Effacer answeredtraffic decimal(4,2) NO NULL
Modifier Effacer callcompletionrate varchar(255) NO NULL
Modifier Effacer callansweringratio varchar(255) NO NULL

  • Commenter cette réponse |
Score
0
òh
òi
|
Bonsoir,
je ne suis pas sur que mysql realise le cast automatique.

C'est a vérifier
  • Commenter cette réponse |
Score
0
òh
òi
|
Et si ce sont des numériques, les "'" sont en trop.
Mais je crois que MySQL caste automatiquement dans le bon format, donc 97.16% devrait devenit 97.16. Ou bien n'est-ce que pour les entiers ?
  • Commenter cette réponse |
Score
0
òh
òi
|
salut,

A l'aide de phpmyadmin pourrais tu nous donner le code sql de création de ta table stp.
L'erreur viens certainement du fait que tu insères une valeur d'un type non attendu dans un de tes champs.
Essais d'enlever le signe % dans tes valeurs. Je les ai mis en gras ci-dessous.

INSERT INTO `mabd`.`outgoingorangemeasureunit` (`id`, `objectinstance`, `callattempts`, `prematurereleasesbeforeringing`, `mobilesubscriberunreachable`, `peerofficecongestions`, `numberincomplete`, `numberunallocated`, `calledpartybusy`, `othercallfailuresbeforeconnection`, `callsconnected`, `prematurereleaseswhileringing`, `noanswer`, `mobilesubscriberdeterminedbusy`, `othercallfailuresafterconnected`, `callsanswered`, `seizedtraffic`, `callconnectiontraffic`, `answeredtraffic`, `callcompletionrate`, `callansweringratio`) VALUES ('', '2011-06-16 09:00:00', '1761', '44', '0', '1', '0', '0', '1', '4', '1711', '794', '0', '0', '28', '889', '24.05', '21.90', '16.72', '97.16%', '50.48%');
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
C'est toujours la même chose, que veux-tu qu'on fasse sans aucun code, sans un schéma de ta table, etc...

voilà ma requete:

INSERT INTO `mabd`.`outgoingorangemeasureunit` (`id`, `objectinstance`, `callattempts`, `prematurereleasesbeforeringing`, `mobilesubscriberunreachable`, `peerofficecongestions`, `numberincomplete`, `numberunallocated`, `calledpartybusy`, `othercallfailuresbeforeconnection`, `callsconnected`, `prematurereleaseswhileringing`, `noanswer`, `mobilesubscriberdeterminedbusy`, `othercallfailuresafterconnected`, `callsanswered`, `seizedtraffic`, `callconnectiontraffic`, `answeredtraffic`, `callcompletionrate`, `callansweringratio`) VALUES ('', '2011-06-16 09:00:00', '1761', '44', '0', '1', '0', '0', '1', '4', '1711', '794', '0', '0', '28', '889', '24.05', '21.90', '16.72', '97.16%', '50.48%');

et voilà le message renvoyée; malgré tout ma base est remplie. j'ai besoin de comprendre pourkoi. merci

0 ligne(s) insérée(s).

Identifiant de la ligne insérée : 10
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
C'est toujours la même chose, que veux-tu qu'on fasse sans aucun code, sans un schéma de ta table, etc...
  • Commenter cette réponse |
Score
0
òh
òi
|
monami62 a dit :
lechampiondesnomsdetablesaralongepoursimplifierledevevoppementetaprèsils'étonnequ'ons'étonne!

oui cè bon j'ai compris. j'ai une autre préoccupation je n'arrive pas à insérer des données dans ma table. au fait quand je fais un insert ; un message du genre est renvoyé : 0 ligne insérée sauf que kan je retourne dans ma table les données insérées sont bel et bien présentes. peux-tu m'expliquer pourkoi!

  • Commenter cette réponse |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par dalvine.
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
J'aime pas beaucoup ton ton là...

c'est une simple question sans arrière pensée
  • Commenter cette réponse |
Score
0
òh
òi
|
lechampiondesnomsdetablesaralongepoursimplifierledevevoppementetaprèsils'étonnequ'ons'étonne!
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
Ah, je vois que je suis pas le seul à me faire la remarque... :matlefou:

qu'as-tu donc trouvé comme solution après ta remarque!

  • Commenter cette réponse |
Score
0
òh
òi
|
crazycat@idn a dit :
Tu as réellement une table qui s'appelle outgoing orange, measure unit:D estination traffic measurement ?

oui j'ai crée cette table
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Ah, je vois que je suis pas le seul à me faire la remarque... :matleflou:
  • Commenter cette réponse |
Score
0
òh
òi
|
Tu as réellement une table qui s'appelle outgoing orange, measure unit:D estination traffic measurement ?
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
Sans avoir ton code et ta déclaration de table, je ne peux rien te dire.
Si on te dit que le champ est inconnu, c'est qu'il est mal écrit.

voila ma requete et mon champ callcompletionrate est declaré ainsi: callcompletionrate decimal(5,2) et quand je fais une requete sur ce champ un message du genre est renvoyé: ce champ est inconnu dans field list et je ne sais pourkoi cela
  1. SELECT callcompletionrate FROM `outgoing orange, measure unit:destination traffic measurement`
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Sans avoir ton code et ta déclaration de table, je ne peux rien te dire.
Si on te dit que le champ est inconnu, c'est qu'il est mal écrit.
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
Je ne peux pas deviner ton code...
  1. INSERT INTO maTable (column1, column2, pourcentage, ...) VALUES ('value1', 'value2', 0.235, ...)

ce n'est pas cette reponse que j'attend. au fait j'ai un champ qui contient des données en pourcentage(par exemple 100,00%,96,67%) et quand j'essaie des requetes sql sur ce champ, on dit que ce champ est inconnu dans la field list. au fait, je l'ai declaré de cette facon: decimal(5,2)
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Je ne peux pas deviner ton code...
  1. INSERT INTO maTable (column1, column2, pourcentage, ...) VALUES ('value1', 'value2', 0.235, ...)
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
Salut,

Tu n'as pas de type spécifique pourcentage je pense.
Mais il te suffit de stocker ça sous forme de nombre. Tu as le choix entre stocker ça juste "23,5" et tu ajoutes des % dans l'affichage ou tu stockes sous le format "0,235" et tu multiplies par 100 avant affichage.

j'ai pu remplir ma base de données et maintenant j'aimerai le faire automatiquement à partir d'une requete sql via php et pour cela j'ai besoin de ton aide. merci d'avance
  • Commenter cette réponse |
Score
0
òh
òi
|
OmaR a dit :
Salut,

Tu n'as pas de type spécifique pourcentage je pense.
Mais il te suffit de stocker ça sous forme de nombre. Tu as le choix entre stocker ça juste "23,5" et tu ajoutes des % dans l'affichage ou tu stockes sous le format "0,235" et tu multiplies par 100 avant affichage.

slt, en fait j'ai un champ à remplir et donc les valeurs sont données en pourcentage et je ne sais dans quel type le ranger(par exemple si ce champ sera de type entier, flottant...etc
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Salut,

Tu n'as pas de type spécifique pourcentage je pense.
Mais il te suffit de stocker ça sous forme de nombre. Tu as le choix entre stocker ça juste "23,5" et tu ajoutes des % dans l'affichage ou tu stockes sous le format "0,235" et tu multiplies par 100 avant affichage.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS