2010-04-29 4 views
0

PHPMySql 연습에서 10 진수 데이터로 작업하려고하고 있으며 허용 수준을 정확하게 수행 할 수 있는지 잘 모르겠습니다.입력 텍스트 값을 10 진수로 변환

간단한 function을 작성하여 input text value을 수신하고 데이터베이스에 저장할 준비가 된 decimal number으로 변환합니다.

<?php 

function unit ($value, $decimal_point = 2) { 
    return number_format (str_replace (",", ".", strip_tags (trim ($value))), $decimal_point); 
} 

?> 

I 교체에 대한 몇 가지 jQuery 코드와 숫자 만, 점 및 쉼표를해야 할 몇 가지 정규식으로 AbdlBsF5%?nl 뭔가를 해결했습니다.

일부 국가에서는 사람들이 쉼표 ,을 사용하여 십진수를 보내므로 72.08과 같은 숫자는 72,08과 같습니다. 나는 사람들이 평상시의 문자를 변경하도록 강요하는 것을 피하고 이것을 유지하기 위해 jQuery를 사용하기로 결정했다.

이제 모든 웹 개발자는 보안상의 이유로 동적 페이지에서 마지막 유효성 검사를 처리해야한다는 것을 알고 있습니다.

내 대답은 데이터를 저장하기 위해 unit(); 기능을 사용해야합니까? 아니면 사용자가 글자 또는 다른 것과 같은 잘못된 문자를 삽입했는지 확인해야합니까? 이 작업을 시도하고 편지를 보내면 쿼리가 잘못된 데이터를 저장하지 않고 작동하지만 이것이 나쁘지는 않다고 생각하지만 신인이기 때문에 쉽게 잘못 될 수 있습니다.

99999.99과 같은 숫자를 원할 경우 어떤 쿼리를 사용해야합니까?

답변

1

이 매우 중요하다 FLOAT(10,2)

이럴처럼도 뭔가 DATABASE 값을 서식을 고려하는 것을 잊지 마세요!

물론 서버 측 언어를 사용하여 실제 유효성을 검사하는 것이 좋습니다.

http://php.net/manual/en/function.number-format.php

자바 스크립트 공상과 편리 할 수 ​​있지만 비록 안전하지 :

이를 읽을 수 있습니다!

+0

상기시켜 주셔서 감사합니다. 질문 후 십진수를 선택했습니다. http://stackoverflow.com/questions/1828068/best-mysql-datatype-for-grams-milligrams-micrograms-and-kilojoule 여기 – vitto

+0

문제가 없습니다. 좋은 링크! –

관련 문제