0

我一直在尝试将图像显示到heredoc中,但它无法工作并且我没有收到任何错误但是如果我将它们显示出来,如果heredoc它们显示得很好。可能是什么问题?对于任何帮助,我将不胜感激。这是代码,我确实在 heredoc 和 out 中显示了两次图像,以便您获得清晰的视图。

<?Php
$target = "image_uploads/";
$image_name = (isset($_POST['image_name']));
$query ="select * from
 tish_user inner join tish_images
 on tish_user.user_id = tish_images.user_id
 WHERE tish_images.prof_image = 1";
    $result= $con->prepare($query);
    $result->execute();

$table = <<<ENDHTML
<div style ="text-align:center;">
<h2>Client Review Software</h2>
<table id ="heredoc" border ="0" cellpaddinig="2" cellspacing="2" style = "width:100%" ;
margin-left:auto; margin-right: auto;>
<tr>
<th>Name</th>
<th>Last Name</th>
<th>Ref No</th>
<th>Cell</th>
<th>Picture</th>
</tr>
ENDHTML;

while($row = $result->fetch(PDO::FETCH_ASSOC)){
    $date_created = $row['date_created'];
        $user_id = $row['user_id'];
        $username = $row['username'];

        $image_id = $row['image_id'];
        #this is the Tannery  operator to replace a pic when an id do not have one
$photo = ($row['image_name']== null)? "me.png":$row['image_name'];
#display image 
             # I removed this line up to here 
        echo '<img src="'.$target.$photo.'" width="100" height="100">';



$table .=  <<<ENDINFO
<tr>
<td><a href ="client_details.php?user_id=$user_id">$username </a></td>
<td>$image_id</td>
<td></td>
<td>c</td>
<td><img src="'.$target.$photo.'" width="100" height="100">
</td>
</tr>
ENDINFO;
}
    $table .= <<<ENDHTML
</table>
<p>$numrows"Clients</p>
</div>
ENDHTML;
echo $table;
?>
4

3 回答 3

2

使用heredoc并在未显示图像的浏览器中检查其来源

图像 src 将是这样的<img src="'.../images/.me.png.'" ...,这是错误的,因为您可以看到单引号和 extra 。(句号)在 img src 的双引号内

试试这个代码

$table .=  <<<ENDINFO
<tr>
<td><a href ="client_details.php?user_id=$user_id">$username </a></td>
<td>$image_id</td>
<td></td>
<td>c</td>
<td><img src="{$target}{$photo}" width="100" height="100">
</td>
</tr>
ENDINFO;
}

所以

<img src="'.$target.$photo.'" width="100" height="100">

将会

<img src="{$target}{$photo}" width="100" height="100">

让我知道这是否解决了,请务必从浏览器的view source选项中检查 HTML Source 以查看打印的内容

于 2013-02-22T09:17:17.007 回答
1
<td><img src="'.$target.$photo.'" width="100" height="100">

你的heredoc中的这一行对我来说没有意义。您应该直接使用字符串中的变量,而不使用单引号和连接点。

像这样:

<td><img src="$target$photo" width="100" height="100">

但是因为您希望两个变量紧挨着打印,您可能需要使用 curly 语法:

<td><img src="{$target}{$photo}" width="100" height="100">

您可以在此处阅读有关 curly 语法的更多信息 。您基本上将变量包装在花括号 ({}) 中,以帮助 PHP 了解变量名称的开始和结束位置。

于 2013-02-22T09:22:24.340 回答
0

这样做并在您想要的任何地方显示声明的变量。还要在heredoc中删除它,然后放$ pic。

$pic = '<img src="'.$target.$photo.'" width="50" height="50">';
 echo $pic  ; 
于 2013-02-22T09:29:36.893 回答