Php 设置多个while循环结果的样式,使它们彼此相邻?
我有一个搜索表,通过包装数据库进行搜索。一切都进行得很好,当提交搜索时,我会在另一个页面上得到返回的结果,该页面显示在带有图片的样式框中。但不幸的是,它们似乎一个接一个地显示在彼此的下面。虽然他们回来很好,我得到了正确的结果。我希望能够相邻显示三个,然后它们转到下一行,再显示三个,依此类推,直到结果用完为止 以下是PHP:Php 设置多个while循环结果的样式,使它们彼此相邻?,php,html,css,while-loop,styling,Php,Html,Css,While Loop,Styling,我有一个搜索表,通过包装数据库进行搜索。一切都进行得很好,当提交搜索时,我会在另一个页面上得到返回的结果,该页面显示在带有图片的样式框中。但不幸的是,它们似乎一个接一个地显示在彼此的下面。虽然他们回来很好,我得到了正确的结果。我希望能够相邻显示三个,然后它们转到下一行,再显示三个,依此类推,直到结果用完为止 以下是PHP: <?php $con = mysql_connect ("localhost", "horizon1", "D2j616H5O@Lw");
<?php
$con = mysql_connect ("localhost", "horizon1", "D2j616H5O@Lw");
mysql_select_db ("horizon1_delyn", $con);
if (!$con)
{
die ("Could not connect: " . mysql_error());
}
$descrip = mysql_real_escape_string($_POST['descrip']);
$depth = mysql_real_escape_string($_POST['depth']);
$varWidth = mysql_real_escape_string($_POST['traywidth']);
$varHeight= mysql_real_escape_string($_POST['trayheight']);
$varRange = mysql_real_escape_string($_POST['trayrange']);
$varType = mysql_real_escape_string($_POST['traytype']);
$varShape = mysql_real_escape_string($_POST['trayshape']);
$varImage = mysql_real_escape_string($_POST['imagename']);
if (isset($varHeight) && !empty($varHeight)) {
$low = ($varHeight."00");
$high = ($varHeight."99");
} else {
$low = ("000");
$high = ("999");
}
if (isset($varWidth) && !empty($varWidth)) {
$min = ($varWidth."00");
$max = ($varWidth."99");
} else {
$min = ("000");
$max = ("999");
}
$sql = "SELECT * FROM range WHERE
description LIKE '%".$descrip."%'
AND trayrange LIKE '%".$varRange."%'
AND traytype LIKE '%".$varType."%'
AND trayshape LIKE '%".$varShape."%'
AND traywidth BETWEEN '".$min."' AND '".$max."'
AND trayheight BETWEEN '".$low."' AND '".$high."' ";
$r_query = mysql_query($sql);
while ($row = mysql_fetch_array($r_query))
{
echo '<div id="results">';
echo '<p class="image">
<img src=" '. $row['imagename'] . '" width="150" length="80">
</p>';
echo '<div id="table"><br />
<strong> Tool Code: </strong> '. $row['toolcode'];
echo '<br /><strong> Description: </strong> '. $row['description'];
echo '<br /><strong> Tray range: </strong> '. $row['trayrange'];
echo '<br /><strong> Tray type: </strong> '. $row['traytype'];
echo '<br /><strong> Tray size: </strong> '. $row['traysize'];
echo '<br /><strong> Tray shape: </strong> '. $row['trayshape'] . '</div>' . '<br />';
echo '<a href="enquire.html">Enquiry Page</a> <br />' .
'<a href="packingtest.html">Back to Search</a>';
echo '</div>' . '<br />';
}
if (mysql_num_rows($r_query) <= 0){
echo 'No results match your search, please try again';
}
?>
下面是CSS:
<style>
#boxes {
padding: 10px;
margin-top: 20px;
margin: 10px;
float: left;
display: block;
}
#results {
width: 212px;
padding: 5px;
background: #E8CF24;
display: block;
overflow:auto;
font-family: Verdana, Geneva, sans-serif;
font-size: 11px;
font-color: #FFF;
border: 2px solid #cccccc;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
-moz-box-shadow: 2px 2px 2px #cccccc;
-webkit-box-shadow: 2px 2px 2px #cccccc;
box-shadow: 2px 2px 2px #cccccc;
}
#table {
margin-top: 10px;
width: 200px;
padding: 3px;
background: #FFF;
display: block;
overflow:auto;
border: 2px solid #cccccc;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
-moz-box-shadow: 2px 2px 2px #cccccc;
-webkit-box-shadow: 2px 2px 2px #cccccc;
box-shadow: 2px 2px 2px #cccccc;
}
.image {
margin-left: 28px;
margin-bottom: 0px;
margin-top: 5px;
}
a:link {
color: #000423;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
}
</style>
#盒子{
填充:10px;
边缘顶部:20px;
利润率:10px;
浮动:左;
显示:块;
}
#结果{
宽度:212px;
填充物:5px;
背景:#E8CF24;
显示:块;
溢出:自动;
字体系列:Verdana,日内瓦,无衬线;
字体大小:11px;
字体颜色:#FFF;
边框:2个实心#中交;
-moz边界半径:7px;
-webkit边界半径:7px;
边界半径:7px;
-moz盒阴影:2px2px2px#CCCC;
-webkit盒阴影:2个2个2个2个#CCCC;
盒影:2×2×2×2#中交;
}
#桌子{
边缘顶部:10px;
宽度:200px;
填充:3倍;
背景:#FFF;
显示:块;
溢出:自动;
边框:2个实心#中交;
-moz边界半径:7px;
-webkit边界半径:7px;
边界半径:7px;
-moz盒阴影:2px2px2px#CCCC;
-webkit盒阴影:2个2个2个2个#CCCC;
盒影:2×2×2×2#中交;
}
.形象{
左边距:28px;
边缘底部:0px;
边缘顶部:5px;
}
a:链接{
颜色:#000423;
字体系列:Arial、Helvetica、无衬线字体;
字体大小:13px;
}
我试着用CSS编辑它,但我可以改变位置、填充、边距等等。但我无法让它们彼此对齐
有人能帮忙吗?提前感谢:)在css中,将此添加到#结果选择器中
#results {
float:left
}
编辑:对不起,这不是正确的答案。删除上面的代码并查看下面的代码
用以下代码替换while循环
编辑:别忘了初始化$count变量。($count=0;)
只要复制粘贴代码,它应该适合你
$count = 0;
while ($row = mysql_fetch_array($r_query))
{
$t = $count%3;
echo ($t==2) ? '<div id="results">' : '<div id="results" style="float:left">';
echo '<p class="image">
<img src=" '. $row['imagename'] . '" width="150" length="80">
</p>';
echo '<div id="table"><br />
<strong> Tool Code: </strong> '. $row['toolcode'];
echo '<br /><strong> Description: </strong> '. $row['description'];
echo '<br /><strong> Tray range: </strong> '. $row['trayrange'];
echo '<br /><strong> Tray type: </strong> '. $row['traytype'];
echo '<br /><strong> Tray size: </strong> '. $row['traysize'];
echo '<br /><strong> Tray shape: </strong> '. $row['trayshape'] . '</div>' . '<br />';
echo '<a href="enquire.html">Enquiry Page</a> <br />' .
'<a href="packingtest.html">Back to Search</a>';
echo '</div>';
$count++;
}
$count=0;
while($row=mysql\u fetch\u数组($r\u query))
{
$t=$count%3;
回声($t==2)?“”:“”;
echo'
';
回声'
工具代码:。$row['toolcode'];
echo'
说明:。$row['Description'];
echo'
托盘范围:。$row['trayrange'];
echo'
托盘类型:。$row['traytype';
echo'
托盘大小:。$row['traysize';
回音“
托盘形状:”.$row['trayshape'].“
”;
回显“
”。
'';
回声';
$count++;
}
这就是我得到的。我没有使用css文件
不要再使用mysql_*函数了,它们已被弃用。改用PDO或mysqli。谢谢你,老兄,我已经听说过了。我将在将来使用它。它仍然在下面显示一个,然后继续这样做。嗯。您是否添加了这行echo($count==3)?“”;我添加了整个代码作为测试,它更改了每个框的边距,但不幸的是它们没有显示在一起。对不起。我的错误。请将该行替换为:$t=$count%3;回声($t==2)?“”:“”;同时从下方移除该标签。它应该以echo“”结尾;