php - 查询结果问题的回显输出

标签 php mysql

出于某种原因,以下代码在所有项目的 LPrice 位置输出正确的股票代码,但仅输出 PCT 和 PNL 的第二个数据元素的正确数据。这意味着,第 1 行输出仅填充一个部分,而第 2 行输出填充所有正确的部分。注意:表中目前只有 2 个元素。

<?php
$host="localhost"; // Host name 
$username="abc"; // Mysql username 
$password="password"; // Mysql password 
$db_name="abc"; // Database name 
$tbl_name="portfolio"; // Table name
$conn=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$sql="select * from ".$tbl_name.";";
$result = mysql_query($sql) or die(mysql_error()); 
echo '<table class="tickerContain">';
echo '<tr>';
echo '<td>ID</td>';
echo '<td>TICKER</td>';
echo '<td>PRICE</td>';
echo '<td>CommIn</td>';
echo '<td>CommOut</td>';
echo '<td>DateIn</td>';
echo '<td>LPrice</td>';
echo '<td>%CHG</td>';
echo '<td>PNL</td>';

$tblOut='';
while ($row = mysql_fetch_array($result))
{
  $tick='';
  $tick=$row["ticker"];
  $tblOut.= '<tr>';
  $tblOut.= '<td id="'.$tick.'id">' . $row["id"] . '</td>';
  $tblOut.= '<td id="'.$tick.'ticker">' . $tick . '</td>';
  $tblOut.= '<td id="'.$tick.'price">' . $row["price"] . '</td>';
  $tblOut.= '<td id="'.$tick.'commissionIn">' . $row["commissionIn"] . '</td>';
  $tblOut.= '<td id="'.$tick.'commissionOut">' . $row["commissionOut"] . '</td>';
  $tblOut.= '<td id="'.$tick.'dateIn">' . $row["dateIn"] . '</td>';
  $tblOut.= '<td><textarea class="realTime"  id="'.$tick.'LPrice">'.$tick.'</textarea></td>';
  $tblOut.= '<td><textarea class="realTime"  id="'.$tick.'pctChange">'.$tick.'</textarea></td>';
  $tblOut.= '<td><textarea class="realTime"  id="'.$tick.'pnl">'.$tick.'</textarea></td>';
  $tblOut.= '</tr>';
}
echo $tblOut;
echo '</table>';

最佳答案

您的while循环正在关闭 <tr>每次迭代时都会在其上方添加标签,但您不可能用完全不可读的代码看到它。

我冒昧地帮你整理了一下:

您还分配了一些完全无用的变量。我也解决了这个问题。

<?php
$host="localhost"; // Host name 
$username="abc"; // Mysql username 
$password="password"; // Mysql password 
$db_name="abc"; // Database name 
$tbl_name="portfolio"; // Table name
$conn=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$sql="select * from ".$tbl_name.";";
$result = mysql_query($sql) or die(mysql_error());

?>

<table class="tickerContain">
    <tr>
        <td>ID</td>
        <td>TICKER</td>
        <td>PRICE</td>
        <td>CommIn</td>
        <td>CommOut</td>
        <td>DateIn</td>
        <td>LPrice</td>
        <td>%CHG</td>
        <td>PNL</td>

    </tr>
    <?php while ($row = mysql_fetch_array($result)) : ?>
    <tr>
        <td id="<?php echo $row["ticker"]; ?>id">
            <?php echo $row["id"]; ?>
        </td>
        <td id="<?php echo $row["ticker"]; ?>ticker">
            <?php echo $row["ticker"]; ?>
        </td>
        <td id="<?php echo $row["ticker"]; ?>price">
            <?php echo $row["price"]; ?>
        </td>
        <td id="<?php echo $row["ticker"]; ?>commissionIn">
            <?php echo $row["commissionIn"]; ?>
        </td>
        <td id="<?php echo $row["ticker"]; ?>commissionOut">
            <?php echo $row["commissionOut"]; ?>
        </td>
        <td id="<?php echo $row["ticker"]; ?>dateIn">
            <?php echo $row["dateIn"]; ?>
        </td>
        <td>
            <textarea class="realTime" id="<?php echo $row["ticker"]; ?>LPrice">
                <?php echo $row["ticker"]; ?>
            </textarea>
        </td>
        <td>
            <textarea class="realTime" id="<?php echo $row["ticker"]; ?>pctChange">
                <?php echo $row["ticker"]; ?>
            </textarea>
        </td>
        <td>
            <textarea class="realTime" id="<?php echo $row["ticker"]; ?>pnl">
                <?php echo $row["ticker"]; ?>
            </textarea>
        </td>
    </tr>
    <?php endwhile; ?>
</table>

此外,我建议将您的数据库代码移动到另一个文件,并将其包含到您的脚本中。

看看 MVC 架构 (http://en.wikipedia.org/wiki/Model –view–controller),它将极大地帮助您保持代码整洁。

关于php - 查询结果问题的回显输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710940/

相关文章:

未找到 PHPDox 文件

php - session_create_id 和 session_regenerate_id() 有什么区别?

PHP 正在更改我的变量的值,因为我将它绑定(bind)为 mysqli 参数?

mysql - 无法远程连接到azure mysql数据库

mysql - 静态资源的访问控制

php - 如何处理多个ajax请求的SQL查询

php - 使用 php mysql 创建数据库时出错

mysql - 加入有条件的特定列

java - 我正在使用 servlet,我被困在一个点上,我只想更新那些使用复选框选择的行

php - Wordpress - 将 wp_redirect url 更改为动态链接