PHP mysql以4列显示查询
如何在4列中显示此查询结果PHP mysql以4列显示查询,php,mysql,sql,Php,Mysql,Sql,如何在4列中显示此查询结果 <?php $direction = $_POST['direction']; $sumword = $_POST['sumword']; $length = $_POST['length']; $con = mysql_connect("localhost","elsha","12q(5PSZ."); $db = mysql_select_db("elsha",$con); $query = "SELECT answer FROM words WHE
<?php
$direction = $_POST['direction'];
$sumword = $_POST['sumword'];
$length = $_POST['length'];
$con = mysql_connect("localhost","elsha","12q(5PSZ.");
$db = mysql_select_db("elsha",$con);
$query = "SELECT answer FROM words WHERE direction = '$direction' AND sumword = '$sumword' AND sumletter = '$length'";
$result = mysql_query($query);
if(mysql_error()) {
//check that no error has occurred first; take this out in production or make more graceful handling
die(mysql_error());
}
if(mysql_num_rows($result) == 0) {
echo "No Results";
} else {
while($row = mysql_fetch_array($result)) {
echo '<img src="/images/'. $row['0'].'.jpg"><br> '. $row['0'].'<br>';
}
}
?>
像这样:
结果1结果2结果3结果4
结果5结果6结果7结果8使用类似于
$flag=0;
while($row = mysql_fetch_array($result)) {
if(($flag%4)==0) {
echo '<tr>';
}
echo '<td><img src="/images/'. $row['0'].'.jpg"><br> '. $row['0'].'</td>';
if(($flag%4)==3) {
echo '</tr>';
$flag=-1;
}
$flag++;
}
$flag=0;
while($row=mysql\u fetch\u数组($result)){
如果(($flag%4)==0){
回声';
}
回显“
”.$row['0']”;
如果(($flag%4)==3){
回声';
$flag=-1;
}
$flag++;
}
将while替换为以下代码。试试这个
$a=1;
while($row = mysql_fetch_array($result)) {
if($a%4==0) {
echo '<img src="/images/'. $row['0'].'.jpg">'. $row['0'].'<br>';
} //4th line with break
else {
echo '<img src="/images/'. $row['0'].'.jpg"> '. $row['0'].' '; // prints first 3 lines
}
$a=$a+1;
}
$a=1;
while($row=mysql\u fetch\u数组($result)){
如果($a%4==0){
回显'.$row['0'].
';
}//第四行有中断
否则{
回显'.$row['0'].'';//打印前3行
}
$a=$a+1;
}
试试这个
$i = 0;
while($row = mysql_fetch_array($result)) {
echo '<img src="/images/'. $row['0'].'.jpg"> ';
$i++;
if($i % 4 == 1 && $i!=1){
echo '<br>';
}
}
$i=0;
while($row=mysql\u fetch\u数组($result)){
回声';
$i++;
如果($i%4==1&&$i!=1){
回声“
”;
}
}
我认为您试图在图像下方显示图像名称。试试这个:
$i = 1;
while($row = mysql_fetch_array($result)) {
echo '<div class="imgs">';
echo '<img src="/images/'. $row['0'].'.jpg"><br> '. $row['0'];
echo '</div>';
if ($i === 4) {
echo '<div class="clear"></div>';
$i = 1;
} else {
$i++;
}
}
几乎正确,但第一行有5列,其余为4@BudiAndug嗯,这是出乎意料的。您是否在
while
之前将$i
指定为1?因为没有人提到它不再使用mysql函数,它们已被弃用,并且在PHP7.0中被删除,请改用mysqli或PDO。同样,当处理像上面这样的用户输入时,请使用准备好的语句,因为现在您的代码已经为SQL注入打开了
.imgs {
float: left;
/* other styles */
}
.clear {
clear: both;
}