我有这个函数http://jsfiddle.net/wnFsE/。正如您所看到的,每次用户在文本域中写入语言,然后点击add按钮时,都会向列表中添加新的语言。然后,当用户点击save时,所有的信息将通过POST发送。
直到现在,一切都很好。但是,当用户发送信息时,信息存储在我的MySQL数据库中。因此,每次当用户再次访问该页面时,他都需要看到上次会话中已经保存的语言。
在我的PHP脚本中,每次用户来的时候,我从数据库中检索语言,但我不知道如何将它们添加到列表中。解决方案是调用$("#add").click(function() {
从PHP脚本检索数据从MySQL,但我不知道如何做到这一点。
如果有任何帮助,这是一个简单的PHP函数,它从用户那里检索语言:
function list_lang() {
$this->DBLogin();
$result = mysql_query("SELECT * FROM ".table_lang." WHERE id_user=1");
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo $row['lang']." ".$row['level']."<br>";
//instead of the echo, here will be the call to jquery (if possible)
}
}
一个简单的解决方案:
$buildHTML = '';
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$buildHTML .= '<li>'.$row['lang'].'<input type="hidden" name="languages[]" value="'.$row['lang'].'" /><a href="#" class="remove_lang">Remove</a></li>';
}
然后是
<script type="text/javascript">
var UserLangs = <?php echo $buildHTML; ?>;
$('#langs').append(UserLangs);
</script>
你可以这样做:
<?php
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<script type="text/javascript">
...
...
listitem_html += <?php echo $row['lang']. $row['level'] . '<br>'?>;
...
...
</script>
<?php
}
?>