express.js를 사용하는 쿼리에 문제가 있습니다. Citta_p와 Citta_a는 두 개의 배열이며 원하는 것은 모든 쿼리가 모든 도시의 모든 ID를 제공한다는 것입니다. 대신, 내가 얻는 것은 바로 마지막 값입니다. var에서 i = 1로 시작하고 i = 0에 대한 값을 얻지 못합니다. 누구든지 나를 도울 수 있습니까? 이 내 코드입니다 :쿼리가 작동하지 않습니다. express.js
page.html
<div class = "container" id = "nuova_linea" style= "display : none">
<div class="row">
<div class="col-md-12" style = "margin-top: 100px;">
<form class="form-horizontal" method="post" action="/inseriscilinea">
<div class='alert alert-error'>
<button type='button' class='close' data-dismiss='alert'>×</button>
<fieldset>
<legend class="text-center header">Inserisci una nuova linea </legend>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Nome Linea: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="nome_linea" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Numero fermate: </label>
<div class="col-md-1">
<input type="text" class="form-control" id="numero_fermate" name = "numero"></div>
<div><input type="button" onclick = "AggiungiFermate()" class = "btn btn-primary" id="button" value="Invia">
</div>
</div>
<div id = "contenitore"></div>
<div id = "miefermate" style = "display : none">
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Città di partenza: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="nome_citta_p" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Città di arrivo: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="nome_citta_a" />
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style = "margin-left: 200px">Km: </label>
<div class="col-md-5">
<input type="text" class="form-control" name="km" />
</div>
</div>
<div id = "salva" style = "display : none">
<div class="form-group">
<div class="col-md-5 col-md-offset-3">
<button type="submit" class="btn btn-primary">Salva</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script type = "text/javascript">
function AggiungiFermate() {
for(var i=0;i<$("#numero_fermate").val();i++) {
$("#contenitore").append($("#miefermate").html())
}
$("#salva").show("slow");
}
</script>
page.js
exports.insertLine = function(req,res) {
var linea = req.body.nome_linea;
var numero = req.body.numero;
var citta_p = req.body.nome_citta_p;
var citta_a = req.body.nome_citta_a;
var km = req.body.km;
req.getConnection(function(err,connection) {
for(var i=0;i<numero;i++) {
var sql = connection.query("select c.id,cc.id from città as c, città as cc where (c.nome = ? and cc.nome = ?)",[citta_p[i],citta_a[i]], function(err,rows) {
if(err) console.log("%s", err);
if(rows.length > 0) {
console.log(rows);
}
}
});
}
});
};
는 비동기입니다. 루프가 작동하지 않습니다. 흐름 제어를 위해 [async] (https://github.com/caolan/async)를 사용할 수 있습니다. – Maroshii
네,하지만 두 번째 배열없이 쿼리를 작성하면 쿼리가 잘못되었다고 생각합니다. 비록 내가 사이클을 가지고 있지 않지만 2 개의 문자열들/배열들에 ID를 원한다고해도 작동하지 않습니다. – simonav