PHP脚本将MySQL数据返回到表中,需要回车

问题描述 投票:0回答:1

我有一个PHP脚本从MySQL数据库表中选择信息,并使用while循环将其流入表中,然后为每个单元格创建一个foreach循环,创建信息列(日期,图像,句子)。我的问题是这些列是并排的,在我的页面上运行并离开距离(http://dankirchoff.com/drawingweek.php)。我需要某种“回车”来保持它们在网页上。我正在尝试使用'index'字段作为计数器的模数,这是不起作用的。有什么建议?

<?php
	include ("inc_connect.php");
	if ($link !== FALSE) {
    	$db = "dkfineart_01";
    	mysqli_select_db($db);
    	$TableName = "drawingoftheweek";
    	$sql = "SELECT * FROM $TableName";
		if ($res = mysqli_query($link, $sql))	{
			if (mysqli_num_rows($res) > 0)	{
				while ($drawresults = mysqli_fetch_array($res))	{
					$drawing[] = $drawresults;
				}
				echo "<table style='margin-left:190px; width:500px;'><tr>";
				foreach ($drawing as $draw)	{
					echo "<td style='padding:20px 20px 0 0'>" . date('m/d/Y', strtotime($draw['date'])) . "</td>";
				}
				echo "</tr><tr>";
				foreach ($drawing as $draw)	{
					echo "<td style='padding:0 20px 0 0'>" . "<img src='images/" . $draw['image'] . ".jpg' width='400px'>" . "</td>";
				}
				echo "</tr><tr>";
				foreach ($drawing as $draw)	{
					echo "<td width='400px' style='padding:0 20px 0 0'>" . $draw['drawingtext'] . "</td>";
				}
				echo "</tr>";
				foreach ($drawing as $draw)	{
					$index = $draw['index'];
						if ($index % 2 === 0)	{
							echo "<br />";
						}
					}
				echo "</table>";
			}
				mysqli_free_result($res);
			}
			else	{
				echo "No matching records are found.";
			}
		}
		else	{
			echo "Unable to select from table. " . mysqli_error($link);
		}
	mysqli_close($link);
?>
php mysql
1个回答
2
投票

我的建议是使用除表之外的东西来解决这个问题并使用CSS来创建休息时间。这样做的另一个好处是允许您迭代结果一次,而不是将它们存储在数组中并多次迭代数组。例如:

<style>
#dodWrapper {
    margin-left:190px; 
}
.dod {
    width:500px;
    display: inline-block;
}
.dodDate {
    padding:20px 20px 0 0;
}
.dodImage {
    padding:0 20px 0 0;
}
.dodImage img {
    width:400px;
}
.dodText {
    padding:0 20px 0 0;
    width:400px;
}
</style>
<?php
	include ("inc_connect.php");
	if ($link !== FALSE) {
    	$db = "dkfineart_01";
    	mysqli_select_db($db);
    	$TableName = "drawingoftheweek";
    	$sql = "SELECT * FROM $TableName";
		if ($res = mysqli_query($link, $sql))	{
			if (mysqli_num_rows($res) > 0)	{
                echo "<div id='dodWrapper'>";
				while ($draw = mysqli_fetch_array($res))	{
                    echo "<div class='dod'>";
                    echo "<div class='dodDate'>";
                    echo date('m/d/Y', strtotime($draw['date']));
                    echo "</div>";
                    echo "<div class='dodImage'>";
                    echo "<img src='images/" . $draw['image'] . ".jpg'>";
                    echo "</div>";
                    echo "<div class='dodText'>";
                    echo $draw['drawingtext'];
                    echo "</div>";
                    echo "</div>";
                }
                echo "</div>";
				
			}
				mysqli_free_result($res);
			}
			else	{
				echo "No matching records are found.";
			}
		}
		else	{
			echo "Unable to select from table. " . mysqli_error($link);
		}
	mysqli_close($link);
?>

这使用div代替表格和display:inline-block来基本上将每个块视为一个单词并在“行”的末尾处断开。

© www.soinside.com 2019 - 2024. All rights reserved.