使用javascript编辑html,调用从sql数据库获取信息的php函数..复杂...

时间:2012-06-29 05:00:31

标签: php javascript html sql

我正在尝试每次更改列表之前编辑选择列表。 我想要做的是将已经存在的列表更改为另一个列表,由php函数调用,该列表生成一个包含第一个列表和sql数据库的新信息的列表。

这很难解释所以这是我的代码:

我的代码基础

//php & html
....

$cli = lastNameList();       //first list
$tli = firstNameList();   //second list

echo"

$cli
<div id='editHtml'>$tli</div>

";

....

函数(php)

//the functions

function lastNameList(){

$options="<select id='lastNames'>"; 

$sql="SELECT * FROM lastName";
$result=mysql_query($sql); 

$options.="<option value='blank'>-- last names --</option>" ;
while ($row=mysql_fetch_array($result)) { 

$name=$row["name"]; 

$options.="<option value='$name'>$name</option>"; 
} 

$options.= "</SELECT>";
return "$options";
}


function firstNameList(){

$options="<select id='firstNames' style='margin-right:40px;'>"; 

在这里遇到问题:

$sql="SELECT DISTINCT Name FROM firstName WHERE LastName ='lastNameSelectedGoesHere'";
//how do i get the value of the last name so i could make a query for it?

//using distinct to make sure there are no duplicates

$result=mysql_query($sql); 

$options.="<option value='blank'>-- first name --</option>" ;
while ($row=mysql_fetch_array($result)) { 

$name=$row["Name"]; 
$options.="<option value='$name'>$name</option>"; 
} 

 $options.= "</SELECT>";
return "$options";
}

js(如果重要的话,在php文件中)

echo"  <script type='text/javascript'>
$('#lastNames').change(function() {

 document.getElementById('eTech').innerHTML="; 

 $ll = firstNameList();
 echo"$ll;

});";

因为你可以看到我的js文件是在一个php文件中,它确实有效,我试图在那里做的,是生成一个新的名字列表来替换旧的但我失败了......任何人都有对我应该做什么的回答或建议?

1 个答案:

答案 0 :(得分:1)

使用ajax&amp; amp;并不复杂。的jquery!

快速肮脏的方法就是这样做

<div id="firstName"></div>
<script type='text/javascript'>
$('#lastNames').change(function() {
$('#firstName').load('getfirstname.php?lastname=' + $(this).val());
});
</script>

和getfirstname.php页面

$lastName = mysql_real_escape_string($_GET['lastname']);
$sql="SELECT DISTINCT Name FROM firstName WHERE LastName ='$lastName'";


//using distinct to make sure there are no duplicates

$result=mysql_query($sql); 
$options="<select id='firstNames' style='margin-right:40px;'>";
$options.="<option value='blank'>-- first name --</option>" ;
while ($row=mysql_fetch_array($result)) { 

$name=$row["Name"]; 
$options.="<option value='$name'>$name</option>"; 
} 

 $options.= "</SELECT>";
echo $options;

这是一个非常简单的页面,展示了如何使用ajax和jquery执行php代码。

<?
if(!isset($_GET['value'])):?>
<script src="jquery-1.7.1.js"></script>
<select id="select" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</options>
</select>

<div id="phpoutput"></div>

<script>
    $('#select').change(function() {
    $('#phpoutput').load('?value=' + $(this).val());
    });

</script>
<?else:
    $val = $_GET['value'];
    echo "$val sent to server. $val*3 = " . $val *3;
 ?>
<?endif;?>