首先计算图片要分几行显示
然后添加相应行数的表格,在在每行里面添加一个2行4列的表格,在每列分别显示图片和图片的名称,这个我在ASP里试过可以的
然后添加相应行数的表格,在在每行里面添加一个2行4列的表格,在每列分别显示图片和图片的名称,这个我在ASP里试过可以的
解决方案 »
- 备份命令出错
- 错了错了,我今天问的不是数据同步的问题!
- 当前时间获取总出错?请帮助
- 在iis下如何设置虚拟路径的问题??
- PHP4转PHP5时,关于类的问题
- 在 html 文件中怎麼傳弟變量和使用變量,提交的變量怎樣引用???
- 短期项目求PHP开发人员或开发团队(2-3名),并寻开发Team长期合作
- 我在国外申请的PHP主页空间打开主页时显示乱码,需在IE中手工设置编码后才能看到中文
- PHP 远程调用问题!望高手帮忙教下怎么做!
- 想把一个php文件生成的html内容存入数据库
- 请教!!怎么样才能定时打开某个页面或是执行某个函数
- 也问关于mysql_num_rows()一个奇怪的问题,附一个上传是出现的问题
<?
/*author:fibona 熊祥众****************/
//连接数据库从数据库中取数据(根据情况自行修改)
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$sql="select * from table";//从数据库选择图片的语句.
$result = mysql_query($sql);
echo "<table width=760 border=0 BORDER=0 CELLPADDING=0 CELLSPACING=0 bgcolor="#99CCFF">
$i=0;//初始化计数,以便按格式进行排列。
$imagpath="显示图片的图径";//显示图片的图径,数据库中只存入图片的名称
echo "<TR>"
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
//这里对图片按格式进行显示:每行三列,如果最后一行没有三个数据则补上空格显示
$i++;
echo "<TD width=\"33%\" ><img src=\"".$imagepath.$row['img']."\" border=0></TD>";
if($i%3==0&i>0)
{
echo "</TR><TR>";
}
}
if($i>0&&$i%3!=0)//有数据,并且最后一行,不足每行的条数,就输出每行条数减去最后一行已有的数的个数的空格符列。
{
for($j=0;$j<($i%3);$j++)
echo "<TD width=\"33%\" > </TD>";
}
echo "</TR> ";
echo "</TABLE>";
mysql_free_result($result);
?>
//连接数据库从数据库中取数据(根据情况自行修改)
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$sql="select * from table";//从数据库选择图片的语句.
$result = mysql_query($sql);
echo "<table width=760 border=0 BORDER=0 CELLPADDING=0 CELLSPACING=0 bgcolor="#99CCFF">
$i=0;//初始化计数,以便按格式进行排列。
$imagpath="显示图片的图径";//显示图片的图径,数据库中只存入图片的名称
echo "<TR>"
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
//这里对图片按格式进行显示:每行三列,如果最后一行没有三个数据则补上空格显示
$i++;
echo "<TD width=\"33%\" ><img src=\"".$imagepath.$row['img']."\" border=0><br>".$row['img']."</TD>";
if($i%3==0&i>0)
{
echo "</TR><TR>";
}
}
if($i>0&&$i%3!=0)//有数据,并且最后一行,不足每行的条数,就输出每行条数减去最后一行已有的数的个数的空格符列。
{
for($j=0;$j<($i%3);$j++)
echo "<TD width=\"33%\" > </TD>";
}
echo "</TR> ";
echo "</TABLE>";
mysql_free_result($result);
?>
/* author:fibona *** *********/
/* date: 2004:07-28 PM *******/
/*对开始的那个程序的改进,以便能够对图片与图片名的高度的可控制性与直观性*/
//连接数据库从数据库中取数据(根据情况自行修改)
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$sql="select * from table";//从数据库选择图片的语句.
$result = mysql_query($sql);
echo "<table width=760 border=0 BORDER=0 CELLPADDING=0 CELLSPACING=0 bgcolor="#99CCFF">
$i=0;//初始化计数,以便按格式进行排列。
$imagpath="显示图片的图径";//显示图片的图径,数据库中只存入图片的名称
echo "<TR>"
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
//这里对图片按格式进行显示:每行三列,如果最后一行没有三个数据则补上空格显示
$i++;
//通过在每一个td里面输出一个表格来实现不同的两行,并可以对每行的高度进行控制。
echo "<TD width=\"33%\" ><table border=0 cellpadding=0 cellspacing=0 bgcolor=\"#99CCFF\"><TR><TD height=60><img src=\"".$imagepath.$row['img']."\" border=0 width=50 height=50 ></TD></TR><TR><TD height=30>".$row['img']."</TD></TR></table></TD>";
if($i%3==0&i>0)
{
echo "</TR><TR>";
}
}
if($i>0&&$i%3!=0)//有数据,并且最后一行,不足每行的条数,就输出每行条数减去最后一行已有的数的个数的空格符列。
{
for($j=0;$j<($i%3);$j++)
echo "<TD width=\"33%\" > </TD>";
}
echo "</TR> ";
echo "</TABLE>";
mysql_free_result($result);
?>
这就要缓存输出行了
基本算法如下$cell = n; //每行的列数
$row1 = ""; //缓存图片行
$row2 = ""; //缓存文字行
$i = 0; //列计数器
while(...) { //循环读取查询结果
if($i == 0) {
$row1 = "<tr>";
$row2 = "<tr>";
}
$row1 .= "<td>".图片连接."</td>";
$row2 .= "<td>".说明文字."</td>";
$i++; //计数器加1
if($i == $cell) {
echo $row1."</tr>".$row2."</tr>"; //输出缓存内容
$i = 0;
}
}
$i = $cell-$i; //计算缺少的单元格数,因为输出的内容不一定能被列数整除。当不能整除时,缓存的内容不会在循环中输出
if($i > 0) {
echo $row1."<td colspan=$i></td></tr>";
echo $row2."<td colspan=$i></td></tr>";
}
到时候只需要配置一下图片路径就可以了
显示的时候就是<img src='图片路径/图片名称'>
给你一段程序看:
<? //图片列数、行数(可以赋值,也可以从其他地方获取配置)
$photorows = 4;
$photolines = 5; $list_table .= "<table><tr>";
//执行数据库查询
//过程省略
if(有数据)
{
$i = 0;
//循环
//获得查询的数据集(一般应该是一个数组)
while(数据集/数组)
{
$i++;
//找图片地址
$Path_photo = "<img src='图片地址' border='0' width='85' height='115'>";
$list_table .= "<td>";
//嵌套一个表格来专门布局图片(可以对这个表格进行扩展以显示标题及子类个数等等信息)
$list_table .= "<table><tr><td>".$Path_photo."</td></tr></table></td>";
$list_table .= "</td>"; //这里就是按列数来控制
if ($i%$photorows==0)
{
$list_table .= "</tr><tr>";
} //如果打到显示的总数则跳出循环
if ( $i==intval(($photorows*$photolines)) )
{
break;
}
}//end while
}
$list_table .= "</tr></table>"; //输出html
echo $list_table;?>