【发布时间】:2022-01-04 19:59:17
【问题描述】:
请原谅我的英语不是我的母语。我可以访问棒球数据库并创建了一个下拉列表,其中包含从 1985 年到 2013 年的年份。我现在希望能够在单击“lancer”按钮后显示所选年份中收入最高的球员。截至目前,当我点击按钮时,我可以显示数据。我想要球员的姓氏、名字、球队和薪水,按照这个顺序。这是我的 SQL 请求:
SELECT nameLast as Nom_de_famille, nameFirst as Prenom, teamID as Équipe, MAX(salary) as Salaire
FROM Master, Salaries
WHERE yearID=1985;
我的问题如下,我一直在到处搜索,但我似乎找不到根据用户从我的下拉菜单中选择的年份来更改 SQL 请求的 WHERE 子句的方法。如果有人能指出我正确的方向,这对我来说意味着整个世界。 SQL 请求是我的 .js 文件中的最后一行。
这是未点击按钮时页面的外观图片: Page without clicking the button
这是当我的 .js 文件中的 yearID 为 1985 时单击按钮时页面的外观图片(只是一个示例,我可以输入任何我想要的年份): Page when clicking the button 'lancer'
这是我的 HTML 代码:
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="exercice1.js"></script>
<title>Document</title>
</head>
<body>
<div>
<form name="Form1">
Choisissez une année:
<select name="Année">
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
</select>
</form>
</div>
<div>
<button id="lancer">Lancer</button>
<p id="texte"></p>
<table id="table"></table>
</div>
</body>
</html>
这是我的 Javascript 代码:
function genereTableau(donnees, id){
var nb = donnees.length;
if (nb>0){
var htmltable="<tr>";
for(var attr in donnees[0]){
htmltable=htmltable+"<th>"+attr+"</th>";
};
htmltable=htmltable+"</tr>";
for(var x=0;x<nb;x++){
htmltable=htmltable+"<tr>";
for(var a in donnees[x]){
htmltable=htmltable+"<td>"+donnees[x][a]+"</td>";
}
htmltable=htmltable+"</tr>";
}
$("#"+id).html(htmltable);
}else{
alert("La réponse à la requête est vide.");
$("#"+id).html("");
}
};
function poste(requête){
var postData = {};
postData["db"] = "dift6800_baseball";
postData["query"] = requête;
$.post(
"http://www-ens.iro.umontreal.ca/~dift6800/baseball/db.php",
postData,
function(reponse,status){
console.log(status);
var obj = JSON.parse(reponse);
if(obj.error==""){
genereTableau(obj.data, "table");
}else{
alert("Erreur:"+obj.error);
}
}
);
};
function requete() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert("status:" + this.status);
$("#texte").text = this.responseText;
};
};
xhttp.open("GET", "LoremIpsum.txt", true);
xhttp.send();
}
$(document).ready(function(){
$("#lancer").click(function(event){
poste("nameLast as Nom_de_famille, nameFirst as Prenom, teamID as Equipe, MAX(salary) as Salaire from Master, Salaries WHERE yearID=1985");
});
});
【问题讨论】:
标签: javascript html sql drop-down-menu request