我通过Ajax使用下拉菜单从MySQL动态获取数据,这是成功的但是当我回显数组值时,而不是给我电子邮件列表它只显示符号。
从电子邮件列表中,这些是回显的符号。
这是我的PHP代码
if(isset($_POST["confirm_no"])){
$d = $_POST['confirm_no'];
$query = mysqli_query($mysqli, "select * from jobseeker WHERE confirm_no LIKE '$d%'");
//Display list
if(mysqli_num_rows($query) > 0){
$row = mysqli_fetch_array($query);
foreach ($row as $r) {
$emailArr[] = $r["mails"];
}
$emails = implode(";", $emailArr);
echo $emails;
}else{
echo 'No email for this selection.';
}
}
和jQuery
$(document).ready(function(){
$('#smode').change(function(){
var confirm_no = $(this).val();
$.ajax({
type:'POST',
data:"confirm_no="+confirm_no,
url:'get_email.php',
success:function(data){
$('#emaillist').val(data);
}
});
});
});
为什么它会回显这些符号?
答案 0 :(得分:0)
您提取的数据不正确,您只需获取一行(对mysqli_fetch_array()
的调用
$row = mysqli_fetch_array($query);
foreach ($row as $r) {
$emailArr[] = $r["mails"];
}
可以更好地写成
while( $row = mysqli_fetch_assoc($query)) {
$emailArr[] = $row["mails"];
}
或者...
$emailArr = mysqli_fetch_all($query, MYSQLI_ASSOC);
$emailArr = array_column($emailArr, "mails");
答案 1 :(得分:0)
将代码重建为:
std::string s = "\r\n½";
int ss = s.size(); //ss is 4