当我在循环中的每个变量之前使用echo时,while循环中的数据工作正常,但在循环之外,php似乎无法识别变量,即使数据库有多行也只打印一次。请帮忙!
if($process['organdoner']=="Yes" && $processorgan['bloodtype']== $process['bloodtype'] && $processorgan['bodytype']== $process['bodytype'] ){ //with same bloodtype,bodytype,intensivecare
$to=$process['email'];
$header= "Organ is urgently needed";
$phquery="SELECT personprofile.firstname,personprofile.lastname,personprofile.fathername,hospital.hospitalname,hospital.geolocation
FROM personprofile,hospital,areaname
WHERE areaname.id= hospital.area AND personprofile.hospitaladmission= hospital.id AND areaname.area='$city' AND personprofile.admissionreason= 5";
$fetchospitalperson= mysqli_query($link,$phquery);
$processtable=mysqli_fetch_assoc($fetchospitalperson);
do{
$messagebody= "Patient Name: ".$processtable['firstname']." ".$processtable['fathername']." ".$processtable['lastname']." "."Hospital Name:";
//$hyperlink= new DOMDocument();
//$hyperlink->loadHTML("<html><body><a href='<".$processtable['geolocation']."'>" .$processtable['hospitalname']."</a></body></html>");
$hyperlink= "<html><body><a href='<".$processtable['geolocation']."'>".$processtable['hospitalname']."</a></body></html>";
//Name of the person that needs the blood transfusion along with hospital he is staying at,hyperlinked to its location
}while($processtable=mysqli_fetch_assoc($fetchospitalperson));
$message= "Dear"." ".$firstname." ".$lastname.",".PHP_EOL .$messagebody.$hyperlink.PHP_EOL;
if(isset($sendtoperson)){
if(mail($to,$header,$message)){
echo "Sent";
}
else{ echo "Not sent";}
}
}
答案 0 :(得分:1)
每次循环时都要覆盖变量,而不是使用x=y
使用连接符x .= y
do{
$messagebody .= "Patient Name: ".$processtable['firstname']." ".$processtable['fathername']." ".$processtable['lastname']." "."Hospital Name:";
$hyperlink .= "<html><body><a href='<".$processtable['geolocation']."'>".$processtable['hospitalname']."</a></body></html>";
}while($processtable=mysqli_fetch_assoc($fetchospitalperson));