現在node.jsを用いて電話帳機能を持ったtodoリストの作成をしています。
DB内にtodoList[id , userName , todo , phone] , userInfo[id , usrename , phone]の2つのtableがあります。
内容としては
①userInfoにuserNameとphoneを登録しておく
②formよりuser名とtodoを入力しtodoListにデータを挿入する
③②の際userInfoに共通するuser名があった場合、formに入力されたusre名・todoに加えuserInfoから取得した電話番号をtodoListに追加する。
④todoListのデータが’/list’にてtodoリストとして表示されます。
todoListにuserNameとtodoを挿入し、userInfoから共通する電話番号を取得するところまではできたのですが、そのデータをtodoListに追加する方法がわかりません。以下コードです。
Node.js
1 1 app.post('/create' , (req , res) =>{ 2 2 connection.query( 3 3 _//DB1にusername、todoを挿入_ 4 4 'insert into todoList(name ,todo) values(? ,?)', 5 5 [req.body.addListUserName/*formのuser名に入力したdata*/,req.body.addListAction/*formのtodoに追加したdata*/], 6 6 (error ,results) =>{ 7 7 connection.query( 8 8 'select phone from userInfo where name=?', 9 9 [req.body.addListUserName], 1010 (error , results) =>{ 1111 console.log(results); 1212 connection.query( 1313 'update todoList set phone=? where name=?', 1414 [results , req.body.addListUserName], 1515 (error , results) =>{ 1616 res.redirect('/list'/*todoリスト一覧*/); 1717 } 1818 ); 1919 }); 2020 }); 2121 });
11行目のconsole.logで確認すると電話番号の取得はできています。また、12行目以下の処理において13行目のphone=?の?部分を数字に置き換えると、todoListのデータ更新もできますが、現在のコードではtodoListのphoneはnullとなってしまいます。どなたか解決方法をご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー