2017-11-28 11 views
0

私は0または1をlbsまたはkgsのmySqlデータベースにブール値として渡そうとしています。今、私は私のポストルートにこれを渡すんかハンドルバーからブール値をノードに渡す方法は?

<h1>MySQL Results:</h1> 
<table> 
    <thead> 
     <th>Exercise Name</th> 
     <th>Reps</th> 
     <th>Weight</th> 
     <th>Date</th> 
     <th>Lbs</th> 
    </thead> 
    <tbody> 
     {{#each exercise}} 
     <tr> 
      <td>{{name}}</td> 
      <td>{{reps}}</td> 
      <td>{{weight}}</td> 
      <td>{{date}}</td> 
      <td>{{lbs}}</td> 
      <td><button onclick="deleteExercise({{id}})">Delete</button></td> 
      <td><a href="/exercise/{{id}}">Update</a></td> 
     </tr> 
     {{/each}} 
    </tbody> 
    <form id="addexercise" action="/exercise" method="post"> 
    Exercise Name: <input type="text" name="name"><br> 
    Reps: <input type="number" name="reps"><br> 
    Weight: <input type="number" name="weight"><br> 
    Date: <input type="date" name="date"><br> 
    Lbs: <select name="lbs-select" id="lbs-select" val="{{lbs-select}}"> 
       <option value="0">Lbs</option> 
       <option value="1">Kgs</option> 
     </select><br> 
    <input type="submit" value="Submit"> 
    </form> 
</table> 

- 私は運動を投稿したときに0または1のいずれかのオプションを選択するには、以下のように私のハンドルのための選択オプションを作成していますか?

 router.post('/', function(req, res){ 
       var mysql = req.app.get('mysql'); 
       var sql = "INSERT INTO workouts (name, reps, weight, date, lbs) VALUES (?,?,?,?,?)"; 
       var inserts = [req.body.name, req.body.reps, req.body.weight, req.body.date, req.body.lbs //should this be something else? It should correspond to 0 or 1]; 
       sql = mysql.pool.query(sql, inserts, function(error, results, fields){ 
         if(error){ 
           res.write(JSON.stringify(error)); 
           res.end(); 
         } else{ 
           res.redirect('/exercise'); 
         } 
       }); 
}); 

答えて

1
Lbs: <select name="lbs-select" id="lbs-select" val="{{lbs-select}}"> 
      <option value="0">Lbs</option> 
      <option value="1">Kgs</option> 
    </select><br> 

名前は「ポンド・セレクト」は、ノード内のコードが同じ名前にも対応している必要がありますからです。

router.post('/', function(req, res){ 
      var mysql = req.app.get('mysql'); 
      var sql = "INSERT INTO workouts (name, reps, weight, date, lbs) VALUES (?,?,?,?,?)"; 
      var inserts = [req.body.name, req.body.reps, req.body.weight, req.body.date, req.body.lbs-select //changed from lbs to lbs-select]; 
      sql = mysql.pool.query(sql, inserts, function(error, results, fields){ 
        if(error){ 
          res.write(JSON.stringify(error)); 
          res.end(); 
        } else{ 
          res.redirect('/exercise'); 
        } 
      }); 
関連する問題