WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   , och . i nr för mysql (https://www.wn.se/forum/showthread.php?t=1058715)

Fia 2013-08-06 13:13

, och . i nr för mysql
 
Jag måste lagra alla nr med . i double i mysql men de flesta vill skriva , i fältet för nr. Är det någon som har ett bra tips på hur man kan överföra alla , till . på ett smidigt sätt när man har många fält med timmar och km. sitta och göra en str_replace() för alla fälten känns lite oeffektivt. Skriver i php, jquery eller JavaScript. Och även sen när jag hämtar ut de vill de även ha visningen med , och inte . så då måste jag konvertera tillbaka. Kommer att göra en del beräkningar också med siffrorna så . är väll tyvärr ett måste.

lunarmys 2013-08-06 14:56

Varför skulle str_replace() vara ineffektivt?

Tsarraz 2013-08-06 16:36

Det hon eftersträvar är att lägga in det med automatik i $_POST["INPUT"]
Men ja du måste lägga det på varje input.
Eller göra en global function som du efterfrågar med varje $_POST

Nihilnovi 2013-08-06 17:24

PHP-kod:

foreach($_POST as $key => $var)
{
  
$_POST[$key] = str_replace(',''.'$var);


Känns väl lite stenålder, sitter du med rå PHP eller använder du något ramverk?

edit:
https://github.com/symfony/Validator är annars en generell lösniing för att validera input från användare

foks 2013-08-06 20:19

str_replace hanterar även arrays, så detta borde fungera:
PHP-kod:

$_POST str_replace(',''.'$_POST); 


Nihilnovi 2013-08-06 22:58

Citat:

Ursprungligen postat av foks (Inlägg 20475124)
str_replace hanterar även arrays, så detta borde fungera:
PHP-kod:

$_POST str_replace(',''.'$_POST); 


Dock så kan inte lägga till någon form av kontroll när du inte går igenom hela arrayen. Vore konstigt om ett fält som t.ex innehåller ett meddelande/email byter ut alla punkter mot kommatecken.

Egentligen så ska man väl inte använda $_POST alls som en källa kan man väl börja med.

lunarmys 2013-08-06 23:12

Citat:

Ursprungligen postat av Nihilnovi (Inlägg 20475132)
Egentligen så ska man väl inte använda $_POST alls som en källa kan man väl börja med.

Hm, vad ska man använda istället?

foks 2013-08-07 07:59

Citat:

Ursprungligen postat av Nihilnovi (Inlägg 20475132)
Dock så kan inte lägga till någon form av kontroll när du inte går igenom hela arrayen. Vore konstigt om ett fält som t.ex innehåller ett meddelande/email byter ut alla punkter mot kommatecken.

Egentligen så ska man väl inte använda $_POST alls som en källa kan man väl börja med.

Ja, då får man göra något snäppet mer avancerat, till exempel lägga de fält som ska konverteras i en egen array.

Förstår inte heller vad du menar med att man inte ska använda $_POST som källa. Det är helt enkelt källan som innehåller data i ett postat formulär.

Fia 2013-08-07 08:25

Ja jag har 1 meddelandefält och typ 20 h och km fält så gå igenom hela $_POST fungerar tyvärr inte, jag får väll gå igenom dem alla en och en. Kan inte hjälpa det, är bara lite lat och hoppades på någon fiffig lösning som jag hade missat, men str_replace "here i come"...

jayzee 2013-08-07 08:52

Finns som standard i html5:

Kod:

<form action="#">
    <input type="number" step="any" />
    <input type="submit" value="Skicka" />
 </form>



Alla tider är GMT +2. Klockan är nu 12:10.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson