2015-08-27 75 views
2

我有問題,我想計算高度更新後的身高和體重的總和。問題是我點擊更新後,高度更新,但重量會自動更改爲user_id(整數)的值。所以總和將是bmi = height + id。你們能幫我解決我的問題嗎?從數據庫調用數據進行計算(PHP)

以下是我正在使用Bootstrap的PHP編碼和表單。

<!-- begin snippet: js hide: false -->

if(isset($_POST['updateH'])) 
{ 

    $height = $_POST['height']; 

    $weight = $_SESSION['user']; 

    $bmi = $height + $weight; 

    $sql = "UPDATE users 
     SET 
     height = $height, 
     weight = $weight, 
     bmi = $bmi, 
     WHERE user_id=" . $_SESSION['user']; 

    $result=mysql_query($sql); 

    // if successfully insert data into database, displays message "Successful". 
    if($result){ 
     echo "<script type='text/javascript'>alert('Update Successfully!')</script>"; 
    } 
    else 
    echo mysql_error(); 
} 
<form method="post" role="form"> 

    <h3> Height : <?php echo $userRow['height']; ?>&nbsp; cm</h3> 
    <input type="number" class="small" name="height" id="height" min="100" max="200" placeholder="Update Height CM"/> 
    <button type="submit" class="btn btn-warning" name="updateH"> UPDATE </button> 

    </form> 
+0

哪個值$ _SESSION [「用戶」]適用於? –

+0

如果您的會話中沒有用戶數組密鑰,那麼重量應該是多少?奇怪的命名,如果這是正確的。 –

+0

syira我認爲你需要從屏幕芽休息:> – Drew

回答

0

您不必輸入字段重量。 可能是你注意到它或者也許我錯了 好的嘗試這個網站碼

<form method="post" role="form"> 
<h3> Height : <?php echo $userRow['height']; ?>&nbsp; cm</h3> 
    <input type="number" class="small" name="height" id="height" min="100" max="200" placeholder="Update Height CM"/> 
    <input type="number" class="small" name="weight" id="height" min="10" max="200" placeholder="Update Weight CM"/> 
    <button type="submit" class="btn btn-warning" name="updateH"> UPDATE </button> 

    </form> 

而在JavaScript中使用以下

if(isset($_POST['updateH'])) 
{ 

    $height = $_POST['height']; 

    $weight = $_POST['weight']; 

    $bmi = $height + $weight; 

    $sql = "UPDATE users SET height ='".$height."',weight ='".$weight."',bmi ='".$bmi."' WHERE user_id='".$_SESSION['user']."'"; 

    $result=mysql_query($sql); 

    // if successfully insert data into database, displays message "Successful". 
    if($result){ 
     echo "<script type='text/javascript'>alert('Update Successfully!')</script>"; 
    } 
    else 
    echo mysql_error(); 
} 
+0

我已經嘗試和重量的值是成爲0 – syira

+0

感謝您的幫助btw :) – syira

+0

至於我的疑問是請檢查數據庫中更新之前的重量值。因爲'$ _session ['user']'只會更新用戶標識的會話變量。如果你想從數據庫中獲取權重值,使用select查詢來獲得它,然後做計算,然後在數據庫中更新它 –

1

好像在SQL語句中 使用此

$sql = "UPDATE users SET height ='".$height."',weight ='".$weight."',bmi ='".$bmi."' WHERE user_id='".$_SESSION['user']."'"; 

如果不更新以上查詢的格式錯誤

通話mysql_commit();mysql_query();後聲明

讓我知道,如果它是有幫助的

+0

我認爲我們都認爲他有''weight = $ _SESSION ['user'];' – Drew

+0

有問題是的我也猜是這樣@Drew但我已經回答通過假設這個會話變量具有一定的價值,他正在做的事 –

+0

我已經改變了我的SQL語句,但仍然有同樣的問題..和mysql_commit()你的意思是把它放在$ result = mysql_query($ sql );因爲我這樣做後會出錯。 – syira