Javascript 如何将数据名而不是它的值从html存储到我的SQL数据库中?

Javascript 如何将数据名而不是它的值从html存储到我的SQL数据库中?,javascript,php,sql,Javascript,Php,Sql,我正在尝试建立一个卡路里损失计算器,并获得用户当前的体重,以磅或公斤为单位,以及他们锻炼的时间,以分钟或小时为单位。 我想将数据名磅/千克和分钟/小时(而不是它们的数值)保存到我的SQL数据库中 <?php //session_start(); if (ISSET($_POST['savecalories'])) { session_start(); $currentweight = floatVal(mysqli_real_escape_string($db,$

我正在尝试建立一个卡路里损失计算器,并获得用户当前的体重,以磅或公斤为单位,以及他们锻炼的时间,以分钟或小时为单位。 我想将数据名磅/千克和分钟/小时(而不是它们的数值)保存到我的SQL数据库中

<?php
//session_start();

if (ISSET($_POST['savecalories'])) {
    session_start();
    $currentweight =     floatVal(mysqli_real_escape_string($db,$_POST['Weight']));
    $weightunit = mysqli_real_escape_string($db,$_POST['WeightUnit']);
    $activitytime = floatVal(mysqli_real_escape_string($db,$_POST['Time']));
    $timeunit = mysqli_real_escape_string($db,$_POST['TimeUnit']);

?>

例如,对于WeightUnit,您的PHP代码只需插入WeightUnit和TimeUnit选择字段的“值”设置为1和2.2。我不知道你的页面/代码还能做什么,但你只需将字段的“值”改为磅或公斤

但我假设您正在HTML页面上进行其他JavaScript计算,需要这些1和2.2值。如果是这种情况,一种解决方法是更改PHP页面上的值,如下所示。这不是唯一的选择,但非常简单

if (ISSET($_POST['savecalories'])) {
session_start();
$currentweight =     floatVal(mysqli_real_escape_string($db,$_POST['Weight']));
if (mysqli_real_escape_string($db,$_POST['WeightUnit']) == '1') $weightunit = 'Pounds'; else $weightunit = 'Kilograms';
//$weightunit = mysqli_real_escape_string($db,$_POST['WeightUnit']);
$activitytime = floatVal(mysqli_real_escape_string($db,$_POST['Time']));
if (mysqli_real_escape_string($db,$_POST['TimeUnit']) == '60') $timeunit = 'Minutes'; else $timeunit = 'Hours';
//$timeunit = mysqli_real_escape_string($db,$_POST['TimeUnit']);
$activity = mysqli_real_escape_string($db,$_POST['Activity']);
$calories = floatVal(mysqli_real_escape_string($db,$_POST['Calories']));
$userid = $_SESSION['userid'];

 $query = mysqli_query($db,"INSERT INTO tracklog
                  (currentweight,weightunit,activitytime,timeunit,activity,calories,userid)
                  VALUES('".$currentweight."', '".$weightunit."', '".$activitytime."', '".$timeunit."','".$activity."', '".$calories."', '".$userid."')");
}

希望我正确理解了您的问题。

谢谢您的回答!我刚刚尝试过,但是现在没有任何东西保存到我的sql数据库中:/weightunit和timeunit列是什么类型的MySQL字段?瓦查尔?整数在上述代码更改之前是否至少插入了任何内容?都是Varchar。是的,它插入了两个的数值。但现在它说有一个标记不匹配。这很奇怪。尝试将更改恢复到原始状态并尝试插入,是否有效?只是想排除一个不同的问题,伪装成来自这个最新的变化。我们所做的只是一个基本的if语句来设置一个变量值。只要试一下就行了!我只需要重新启动SQL,因为在检查更改是否有效之前,我已经重新启动了mamp服务器。