php、javascript和mysql如何连接到一个组合,如果点击,则通过另一个查询进入另一个组合
How php, javascript and mysql to one combo, if clicked comes in another through another query
我试图通过这个论坛上的许多不同的帖子来解决这个问题。但无法达到我的具体目标
我试图将表中一列的数据放到一个组合中,然后如果单击了任何一个数据,它应该根据单击的数据从另一个表中的另一列列表到另一个组合
请查看我的网站:raihans.co.uk,用户:dbuser,passwd。然后将鼠标悬停在"用户登录/注销"上,单击"数据库测试">
作为示例,您可以查看顶部创建的组合。在底部,我尝试了使用mysql、javascript和php。成功地从我的一个表中填充了第一个组合中的第一列。但不能拿到第二名或第三名
请看一下代码。我曾经填充过这两个组合。我不确定我在哪里犯了错。请帮我一下。提前感谢您。
<html><div><head><?php
$link = mysql_connect("localhost","db_user_name","db_user_passwd");
if (!$link) { die('Could not connect to Database: ' . mysql_error()); }
mysql_select_db("db_name",$link);
?>
<script type="text/javascript">
<?php
$category = array();
$query = "SELECT State_Name FROM Test_State";
$q_result = mysql_query($query);
if (!$q_result) { die('Could not make query: ' . mysql_error()); }
while($row = mysql_fetch_assoc($q_result)) { ?>
category[] = ["<?php $row; } ?>"];
function fillSelect(sel,ary,nxt){
if (ary&&sel.form){
var frm=sel.form,nme=sel.name.replace(/'d/g,""),i=Number(sel.name.replace(/'D/g,""))+1,nxt=frm[nxt],opts=sel.options,oary=[],z0=nxt==sel?0:1,z1=0,z1a;
while (frm[nme+i]){
frm[nme+i].length=1;
frm[nme+i].selectedIndex=0;
i++;
}
for (;z0<opts.length;z0++){
if (opts[z0].selected&&ary[opts[z0].value]){
oary=oary.concat(ary[opts[z0].value]);
} }
if (nxt){
for (;z1<oary.length;z1++) { nxt.options[z1+1]=new Option(oary[z1],oary[z1]); }
nxt.selectedIndex=0;
} } }
function getValue(isValue) { alert(isValue); }
function init() { fillSelect(document.forms[0]['List1'],category,'List1') }
navigator.appName == "Microsoft Internet Explorer" ? attachEvent('onload', init, false) : addEventListener('load', init, false);
</script></div></head>
<body>
<form action="">
<select name='List1' onchange="fillSelect(this,category,'List2')">
<option value="" selected>Select a country</option>
<?php
$category = "SELECT Country_Name FROM Test_Country";
$query_result = mysql_query($category);
while($result = mysql_fetch_assoc($query_result))
{ ?>
<option value = "<?php echo $result['Country_Name']?>"><?php echo $result['Country_Name']?></option>
<?php } ?>
</select>
<select name='List2' onchange="getValue(this.value)">
<option selected>Select State</option>
</select>
</form></body></html>
我认为对您来说,最好的技术是使用您现有的示例代码,但有一个更改:当您用PHP构建页面时,您希望动态创建类别数组。通过在PHP中创建数组,然后使用json_encode((将其转换为javascript,可以非常巧妙地做到这一点。
在这里,我试图向您展示如何构建$categories
变量,您可以将其用于现有的Javascript。我还没有测试过,所以你应该会有一些错误。但技术才是最重要的。
<html><div><head>
<?php
$link = mysql_connect("localhost","db_user_name","db_user_passwd");
if (!$link)
die('Could not connect to Database: ' . mysql_error());
mysql_select_db("db_name",$link);
$categories = array();
$countryQuery = "select State_Name FROM Test_State";
$countryResult = mysql_query($countryQuery);
while( $row = mysql_fetch_assoc($countryResult) )
$categories['startList'][] = $row['State_Name'];
/* I don't know your db schema, so I'm making it up as I go along
A db row of "California","SFO" becomes:
$categories["California"] = array("SFO");
Subsequent airports in California are appended to the same array.
*/
$airportQuery = "select Airport_Name, State_Name from Test_Airport";
$airportResult = mysql_query($airportQuery);
while( $row = mysql_fetch_assoc($airportResult) )
$categories[$row['State_Name']][] = $row['Airport_Name'];
// you can use the same technique to build a map of airports->resorts
?>
<!-- Now we just need to export the big PHP array as a Javascript variable.
Use the json_encode() function. -->
<script type="text/javascript">
$category = <?php echo json_encode($categories); ?> ;
</script>
我还有一些额外的笔记要给你:
首先,不要使用mysql库。对于新代码,它已被弃用。请改用mysqli或PDO。
其次,我认为您对PHP和Javascript的交互方式感到困惑。总之,他们没有。PHP运行并创建页面,然后浏览器加载页面并运行Javascript。看起来您希望Javascript与PHP交互,除非您使用AJAX技术,否则这是不会发生的。您还没有为AJAX做好准备。
第三,如果你要让其他人阅读你的代码,你应该先把它格式化。混乱的代码很难阅读,大多数人都会避开它,不回答你的问题。如果你想让其他人帮你处理代码,你需要愿意在你的问题上付出额外的努力。
- 将7个图像组合为一个,一个在另一个之上,并输出为单个图像
- extjs基于另一个组合框值过滤组合框
- 使用php创建动态组合框,并更改另一个动态组合框的值
- 从另一个可观察对象获取价值的最佳方法,而无需组合最新
- 如何将组合框的动态更改值获取到同一JSP页面中的另一个文本字段中
- 使用组合框填充另一个组合框,以便用户可以运行查询
- 如何根据另一个组合框的选定项目从数据库填充组合框中的项目
- 根据属性值 lodash 将属性从对象数组合并到另一个对象数组中
- 2个组合框,选择一个,更改另一个
- Adobe Acrobat:使用组合框(下拉)选择更改另一个字段
- 将JSON数组的一部分与另一个JSON数组组合在一起
- 如何使用Javascript禁用在另一个组合框中选择的组合框的值
- 基于另一个组合框选择的自动填充组合框
- 将一个流的所有值组合成一个数组,并作为另一个流的值使用
- 从组合框和文本输入字段中为另一个组合框赋值
- php、javascript和mysql如何连接到一个组合,如果点击,则通过另一个查询进入另一个组合
- 如何在HTML中使用另一个组合框来控制一个组合框
- 从另一个组合框刷新Telerik组合框列表
- 在js中用另一个组合值填充组合框值
- 根据在另一个组合框中选择的内容,使用地图中的值动态填充组合框