PHP foreach echo打印“;符号”;作为价值
我通过Ajax使用下拉菜单从MySQL动态获取数据,这很成功,但当我回显数组值时,它没有给我电子邮件列表,而是显示符号 请看下图: 从电子邮件列表中,这些是被呼出的符号 这是我的php代码PHP foreach echo打印“;符号”;作为价值,php,jquery,mysqli,Php,Jquery,Mysqli,我通过Ajax使用下拉菜单从MySQL动态获取数据,这很成功,但当我回显数组值时,它没有给我电子邮件列表,而是显示符号 请看下图: 从电子邮件列表中,这些是被呼出的符号 这是我的php代码 if(isset($_POST["confirm_no"])){ $d = $_POST['confirm_no']; $query = mysqli_query($mysqli, "select * from jobseeker WHERE confirm_no LIKE '$d%'"
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);
}
});
});
});
为什么它会回显这些符号?如果数据提取不正确,只提取一行(调用
mysqli\u fetch\u array()
可以更好地写为
while( $row = mysqli_fetch_assoc($query)) {
$emailArr[] = $row["mails"];
}
或者
将代码重新编译为:
//Display list
if(mysqli_num_rows($query) > 0){
// You have many results - fetch them all iteratively
// use `fetch_assoc` to have ability to use `mails`
while ($row = mysqli_fetch_assoc($query)) {
$emailArr[] = $row["mails"];
}
$emails = implode(";", $emailArr);
echo $emails;
}else{
echo 'No email for this selection.';
}
mysqli\u fetch\u数组
获取0索引数组,不关联。感谢大家的帮助。
$emailArr = mysqli_fetch_all($query, MYSQLI_ASSOC);
$emailArr = array_column($emailArr, "mails");
//Display list
if(mysqli_num_rows($query) > 0){
// You have many results - fetch them all iteratively
// use `fetch_assoc` to have ability to use `mails`
while ($row = mysqli_fetch_assoc($query)) {
$emailArr[] = $row["mails"];
}
$emails = implode(";", $emailArr);
echo $emails;
}else{
echo 'No email for this selection.';
}