2011-01-25 85 views
0

我的PHP搜索脚本存在问题。我正在建立一个社交网站,可以搜索用户,活动或俱乐部。我希望搜索结果显示用户头像缩略图或默认缩略图,如果没有上传。我在本地主机上进行测试。 头像的存储在User_Images (c:\wamp\www\NNL\User_Images)文件夹,而默认的头像被存储在c:\wamp\www\NNL\Style\Images\default_avatar.png.在搜索中显示用户头像或默认头像

以下是我的PHP代码:

<?php 
while ($row_user = mysql_fetch_assoc($user)) 
{ 
    echo "\n<table width='500' border='0'>"; 
    echo "\n\t<tr>"; 
    echo "<td width='50' height='50' align='center' valign='middle'><a href='user_view.php?user_id=".$row_user['user_id']."'> 
    <img src=User_Images/$row_user[picture_thumb_url] !=''? $row_user[picture_thumb_url]: '../Style/Images/default_avatar.png' 
    border='0' height='50' width='50'/></a></td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_user['user_first_name']. "</td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_user['user_last_name']. "</td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_user['username']. "</td>"; 
    echo "<td width='30'><a class='text_12_link_green' href='user_view.php?user_id=".$row_user['user_id']."'>View</a></td>"; 
    echo "\n\t</tr>"; 
    echo "\n</table>"; 
} 
?> 
<?php 
while ($row_event = mysql_fetch_assoc($event)) 
{ 
    echo "\n<table width='500' border='0'>"; 
    echo "\n\t<tr>"; 
    echo "<td width='50' height='50' align='center' valign='middle'><a href='#table_index.php'> 
    <img src='Images/$row_event[event_thumb_url]' border='0' height='50' width='50'/></a></td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_event['event_name']. "</td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_event['event_venue']. "</td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_event['event_date']. "</td>"; 
    echo "<td width='30'><a class='text_12_link_green' href='#user_view.php?user_id=".$row_user['username']."'>View</a></td>"; 
    echo "\n\t</tr>"; 
    echo "\n</table>"; 
} 
?> 
<?php 
while ($row_establishment = mysql_fetch_assoc($establishment)) 
{ 
    echo "\n<table width='500' border='0'>"; 
    echo "\n\t<tr>"; 
    echo "<td width='50' height='50' align='center' valign='middle'><a href='#table_index.php'> 
    <img src='Establishment_Images/$row_establishment[establishment_thumb_url]' border='0' height='50' width='50'/></a></td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_establishment['establishment_name']. "</td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_establishment['location_name']. "</td>"; 
    echo "<td width='140' class='ordinary_text_12'>" .$row_establishment['establishment_pricing']. "</td>"; 
    echo "<td width='30'><a class='text_12_link_green' href='#user_view.php?user_id=".$row_user['username']."'>View</a></td>"; 
    echo "\n\t</tr>"; 
    echo "\n</table>"; 
} 
?> 

的问题是在$row_user while循环哪里我尝试呼应$row_user拇指。现在,如果用户有头像,它会显示图像,但是如果用户没有头像,它将根本没有图像。我哪里错了?

+0

你在* *期待它返回,如果用户没有分身? – meagar 2011-01-25 14:30:50

+0

我希望它返回我已经存储在一个文件夹中的默认图像。该图像被称为default_avatar.png。见顶部段落。我已经在用户个人资料页面中使用了类似的代码,但无法在这一个 – 2011-01-25 14:36:52

回答

1

你可以做到这一点,尽管它不完全可读。

echo "<td width='50' height='50' align='center' valign='middle'><a href='user_view.php?user_id=".$row_user['user_id']."'> 
    <img src=User_Images/" . ($row_user['picture_thumb_url'] != '' ? $row_user['picture_thumb_url'] : '../Style/Images/default_avatar.png') . " border='0' height='50' width='50'/></a></td>"; 

你最好做有条件的事先然后回显变量:

更新时间:

$thumbnail = $row_user['picture_thumb_url'] != '' ? $row_user['picture_thumb_url'] : '../Style/Images/default_avatar.png'; 

echo "<td width='50' height='50' align='center' valign='middle'><a href='user_view.php?user_id=".$row_user['user_id']."'> 
     <img src=User_Images/$thumbnail border='0' height='50' width='50'/></a></td>"; 
1

您不能在'echo'中放入'if'语句。

这边走:

if($row_user[picture_thumb_url] !='') 
    $thumb = $row_user[picture_thumb_url]; 
else 
    $thumb = '../Style/Images/default_avatar.png'; 

然后:

echo "<img src=\"$thumb\">"; 
+0

感谢乔纳森。让我试试这个。 – 2011-01-25 14:39:37