2012-02-12 67 views
0

我在MySQL数据库称为“曲线” 表结构的表格:一般来说,如果一个用户获得两个类型的数据并显示出来

user | hasimg | imgurl 

正如你可以看到“hasimg”和“imgUrl的”,没有图像,hasimg将被设置为0并且imgurl被设置为无。

另一方面,如果用户具有指定的图像,则hasimg设置为1并且imgurl将包含链接。

  • 如何显示那些有<img src="imgurl html标签图像(hasimg设置为1)?

  • 我怎么能显示那些有图像(hasimg设置为0),无<img src

我想做一个列表,显示用户与图像和用户没有图像。

下面是使用由行

<?php 

     $sql = "SELECT * FROM profile ORDER BY user DSC"; 
     $query = mysql_query($sql)or die(mysql_error()); 

       $rows = array(); 
     while($row = mysql_fetch_array($query)){ 
      $rows[] = $row; 
      echo "User:$row[user]<br>Image:$row[hasimg]\n"; 
     } 

    ?> 

P/S MySQL连接建立回声出数据行的代码IM。

+0

我曾尝试PHP的同时,从各行回声出数据。但我不知道如何让PHP区分哪一个有一个img,哪一个不使用WHILE时。 – sm21guy 2012-02-12 11:10:55

+0

请检查我在答案中给出的例子。 – 2012-02-12 11:21:15

+0

适当的[示例代码](http://sscce.org/)(这里是SQL语句)比任何ad hoc模式和示例数据格式更有用。请使用'CREATE TABLE'和'INSERT ... VALUES'作为样本。所需的结果不需要作为示例代码呈现,因为结果是代码的输出,而不是代码本身。 – outis 2012-03-29 01:04:56

回答

1

如果你想保持你的布局幻想的方式,你可以使用默认图像。

if($hasimg == 0) 
    $imgurl = "default.jpg"; 

echo '<img src="' . $imgurl . '">'; 

编辑:

你的PHP代码可能是这样的。

$sql = "SELECT * FROM profile ORDER BY user DSC"; 
$result = mysql_query($sql)or die(mysql_error()); 


echo "<table border='1'> 
<tr> 
<th>Name</th> 
<th>Image</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) 
    { 
    $imgurl = $row['imgurl']; 
    if($row['hasimg'] == 0) 
     $imgurl = "default.jpg"; 

     echo "<tr>"; 
     echo "<td>" . $row['user'] . "</td>"; 
     echo "<td><img src=\"" .$imgurl . "'\" /></td>"; 
     echo "</tr>"; 
    } 
echo "</table>"; 
+0

哦,我明白了,谢谢 – sm21guy 2012-02-12 11:24:06

0

两个解决方案:

  1. 设置一个途径为默认IMG JPG文件作为默认的字段内容在你的数据库到现场imgurl

  2. 过滤查询结果由刚$rows[] = $row;后添加以下代码:

    If ($row['hasimg'] == 0) $row['imgurl'] = 'default.jpg'; 
    
相关问题