我正在创建一个元素周期表,我是php新手。我已经看了很多关于如何完成这项任务的信息,但我找不到任何东西。我想要做的是查询我的数据库并获取原子量,名称,元素符号等内容的值,并将它们填入我用html和css构造的元素周期表中。但是,我只是不知道运行“while”循环并将数据填充到适当的空格中。我理解如何使用结果创建表,但我不明白如何将结果填充到已创建的html结构中。这是我的代码的一部分。再次,我是非常新的PHP,所以任何帮助将不胜感激。我相当肯定这与我打开/关闭php标签的位置有很大关系。基本上,如何让循环识别html中的变量?我是否关闭php标签并重新打开?
非常感谢你。
<?php
//query database (connection successful)//
$result=mysql_query("SELECT * FROM elementdata", $link);
//fetch results into array to loop through//
while($row = mysql_fetch_array($result)) {
//begin table structure where I would like to insert data//
<div id="hydrogen" class="element group1 period1">
<span class="number"> echo $row['atomicNumber']; </span><br>
<span class="symbol">H</span><br>
<span class="name"> echo $row['name']; </span><br>
<span class="molmass">1.007 94</span></div>
<div id="Helium" class="element group18 period1">
<span class="number">echo $row['atomicNumber'];</span><br>
<span class="symbol">He</span><br>
<span class="name"> echo $row['name']; </span><br>
<span class="molmass">4.002 602</span></div>
//...table continues...//
?>
答案 0 :(得分:1)
您可以使用两种方法,使用PHP来回显HTML或在HTML中使用PHP。
PHP打印HTML
<?php
//query database (connection successful)//
$result=mysql_query("SELECT * FROM elementdata", $link);
//fetch results into array to loop through//
while($row = mysql_fetch_array($result)) {
//begin table structure where I would like to insert data//
echo '<div id="hydrogen" class="element group1 period1">';
echo ' <span class="number">' . $row['atomicNumber'] . '</span><br>';
echo ' <span class="symbol">H</span><br>';
echo ' <span class="name">' . $row['name'] . '</span><br>';
echo ' <span class="molmass">1.007 94</span></div>';
}
HTML with PHP
<?php
//query database (connection successful)//
$result=mysql_query("SELECT * FROM elementdata", $link);
//fetch results into array to loop through//
while($row = mysql_fetch_array($result)) {
?>
//begin table structure where I would like to insert data//
<div id="hydrogen" class="element group1 period1">';
<span class="number"><?php echo $row['atomicNumber']; ?></span><br>';
<span class="symbol">H</span><br>';
<span class="name"><?php echo $row['name']; ?></span><br>';
<span class="molmass">1.007 94</span></div>';
<?php
}
答案 1 :(得分:0)
您需要进出PHP
之后:
//fetch results into array to loop through//
while($row = mysql_fetch_array($result)) {
如果要输出HTML,则必须关闭PHP
?>
现在,当您想在HTML标记内输出一些PHP变量时:
<span class="number"><?php echo $row['atomicNumber']; ?></span><br>
与HTML中的开始和结束标记类似,您可以将PHP代码包含在PHP标记中。
答案 2 :(得分:0)
我不确定您是否在MySQL表中存储molmass,符号,组和句点,但您很可能是。由于我不知道你的名字,请用你的名字替换molmass,atomicSymbol,atomic_group和atomic_period。
您可以使用此代码
<?php
//query database (connection successful)//
$result=mysql_query("SELECT * FROM elementdata", $link);
//fetch results into array to loop through//
while($row = mysql_fetch_array($result)) {
// echo the first line, i.e the div
echo "<div id='{$row['name']}' class='element {$row['atomic_group']} {$row['atomic_period']}'>";
// Echo the atomic number, symbol, name and molmass
echo "<span class='number'>{$row['atomicNumber']}</span><br>";
echo "<span class='symbol'>{$row['atomicSymbol']}</span><br>";
echo "<span class='name'>{$row['name']}</span><br>";
echo "<span class='molmass'>{$row['molmass']}</span><br>";
echo "</div>";
}
?>
解释:{}是我们在字符串中插入$ row ['']语法所必需的,否则会给我们带来麻烦。
休息我们只是循环遍历表中的所有内容,获取您命名的内容以及它们属于哪个组和句点,创建一个div。然后我们打印他们的每个属性。
答案 3 :(得分:-1)
好吧,让我们试一试:
<html>
<head>
</head>
<body>
<?php
open your db stuff
$query = " SELECT name,
symbol,
atomicnumber,
molmass,
otherstuff
FROM periodictabletable
WHERE index > 0 ";
$result = mysqli_query($cxn, $query) or die ("could not query database");
echo "<table>";
while ($row = mysqli_fetch_array($result))
{
echo "<tr><td>".$row['name']."</td><td>".$row['symbol']."</td><td>".$row['atomicnumber']."</td><td>".$row['molmass']."</td></tr>";
}
echo "</table>";
?>
</body>
</html>
启动并运行后,您可以在html中嵌入各种格式标记,只需确保您只使用单引号,例如 - class =&#39; numbercolor&#39;
但是有很多方法可以做到这一点。您可以在html中创建表,然后使用ajax调用填充它 - 取决于您想要做什么。 玩得开心!