Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL查询中使用PHP变量来获取行?_Php_Mysql - Fatal编程技术网

如何在MySQL查询中使用PHP变量来获取行?

如何在MySQL查询中使用PHP变量来获取行?,php,mysql,Php,Mysql,我已经成功地完成了连接到数据库并返回所需数据的php脚本。但是我需要扩展这个脚本以插入一个变量,该变量将通过一些计算(税、无税、保证金等)显示价格 此脚本仅显示所有获取行中第一个数据库行0.00的价格值,它不正确-因为第一个数据库行是ok的,因为产品的价格为0.0000,但其他行填充了正确的值。while循环似乎不喜欢我的$styledprice变量。我不知道如何在所有行中显示正确的字段值。有什么好主意吗?我是一个PHP初学者 $pricequery = "SELECT rrp FROM my_

我已经成功地完成了连接到数据库并返回所需数据的php脚本。但是我需要扩展这个脚本以插入一个变量,该变量将通过一些计算(税、无税、保证金等)显示价格

此脚本仅显示所有获取行中第一个数据库行0.00的价格值,它不正确-因为第一个数据库行是ok的,因为产品的价格为0.0000,但其他行填充了正确的值。while循环似乎不喜欢我的$styledprice变量。我不知道如何在所有行中显示正确的字段值。有什么好主意吗?我是一个PHP初学者

$pricequery = "SELECT rrp FROM my_products";
$b2bprice = mysql_query($pricequery);
$rrps = mysql_fetch_array($b2bprice); 
$price = $rrps['rrp'];
$styledprice = number_format($price, 2, '.', '');

$query = mysql_query("
SELECT 
CONCAT(' <td> ',p.id,' </td><td> ',p.manufacturer,' </td><td> ',p.reference,' </td><td> ',p.name,' </td><td> ',p.quantity,' <td> ','".$styledprice."',' </td> ') AS row
FROM my_products p
");

echo "
<table>
    <tr>
        <td><h5>ID</h5></td>
        <td><h5>Manufacturer</h5></td>
        <td><h5>PN</h5></td>
        <td><h5>Name</h5></td>
        <td><h5>Quantity</h5></td>
        <td><h5>Price</h5></td>
    </tr>";

while($row=mysql_fetch_array($query))
    {
        echo "<tr>".$row['row']."</tr>";
    }

 echo "
 </table>";
$pricequery=“从my_产品中选择rrp”;
$b2bprice=mysql\u查询($pricequery);
$rrps=mysql\u fetch\u数组($b2bprice);
$price=$rrps['rrp'];
$styledprice=number_格式($price,2,'.','');
$query=mysql\u查询(“
挑选
CONCAT(“”,p.id,“”,p.manufacturer,“”,p.reference,“”,p.name,“”,p.quantity,“”,“$styledprice.”,“”)作为行
从我的产品p
");
回声“
身份证件
制造商
PN
名称
量
价格
";
while($row=mysql\u fetch\u array($query))
{
回显“$row['row']”;
}
回声“
";

是的,我知道有些mysql函数不推荐使用。

类似的功能应该可以更好地工作。 它通过HTML将结果集与数据库和输出分离

// Get the Result Set
$result =  mysql_query("SELECT p.id, p.manufacturer, p.reference, p.name, p.quantity FROM my_products p");

// Convert the rows and columns from the Result Set to a PHP Array
$data = array(); // empty array
while ($row = mysql_fetch_assoc($result)) {
    $data[] = $row;
}

// Now you have access any row or column
echo "<table>";
foreach($data as $row){

    // prepare the data
    $formatttedQuantity = number_format($row['quantity'], 2, '.', '');

    // show each Table Row

    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['manufacturer'] . "</td>";
    echo "<td>" . $row['reference'] . "</td>";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $formatttedQuantity . "</td>";
    echo "</tr>";
}
echo "</table>";
//获取结果集
$result=mysql_query(“从我的_产品p中选择p.id、p.manufacturer、p.reference、p.name、p.quantity”);
//将结果集中的行和列转换为PHP数组
$data=array();//空数组
while($row=mysql\u fetch\u assoc($result)){
$data[]=$row;
}
//现在您可以访问任何行或列
回声“;
foreach($行数据){
//准备数据
$formattedquantity=number_格式($row['quantity',2',','');
//显示每个表行
回声“;
回显“$row['id']”;
回显“$行[“制造商]”;
回显“$row['reference']”;
回显“$row['name']”;
回显“$FormattedQuantity.”;
回声“;
}
回声“;

看起来您可以在一个sql命令中完成这一切,如:

<?php

    $sql = "SELECT * FROM my_products";
    $result = mysql_query( $sql );

    echo "
    <table>
        <tr>
            <td><h5>ID</h5></td>
            <td><h5>Manufacturer</h5></td>
            <td><h5>PN</h5></td>
            <td><h5>Name</h5></td>
            <td><h5>Quantity</h5></td>
            <td><h5>Price</h5></td>
        </tr>";

    while( $row=mysql_fetch_array( $result ) ){

        $price=$row['rrp'];
        $styledprice = number_format( $price, 2, '.', '' );

        echo "
            <tr>
                <td>{$row['id']}</td>
                <td>{$row['manufacturer']}</td>
                <td>{$row['reference']}</td>
                <td>{$row['name']}</td>
                <td>{$row['quantity']}</td>
                <td>{$styledprice}</td>
            </tr>";
    }

     echo "
     </table>";

 ?>

将html混合到sql语句中并不常见,我很惊讶地看到这样的查询包含在html标记中。@RamRaider,但它可以工作;)是的,不要在SQL查询中使用HTML。只需使用SQL检索列值,然后在PHP中添加HTML。您需要在从MySQL检索到的价格上使用
number\u format()
内部的
循环?真的吗?它能获取/应该获取多少结果?您可以通过一个sql命令而不是两个sql命令来实现这一点感谢您的努力@Cagy79!我会在几分钟内检查它!一流!这正是我需要的,有了这个,我可以做很多灵活的修改+1和回答谢谢@RamRaider!看起来很简单!我会检查的!:)