使用If逻辑函数在值字段中不工作的PHP计算

使用If逻辑函数在值字段中不工作的PHP计算,php,forms,html,Php,Forms,Html,这是计算值的当前公式 <div class="common-box"> <div class="common-box-left">Approx Value </div> <div class="common-box-right"><input name="idv" type="text" class="text-box" value="'.(($rows->v_price*3.41)/100) .'" readonly=""/

这是计算值的当前公式

<div class="common-box">
<div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" 
    value="'.(($rows->v_price*3.41)/100) .'" readonly=""/></div>

近似值
现在,当我们使用基于价格范围的if语法将其更改为非常基本的计算目的时,它在

<div class="common-box">
<div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" value="'.($a = $this->prodDet->v_price);
  $b=.02889;
  $z=.02307;
  if ($a > 500000){
    $c=$a*$z;
  } else {
    $c=$a*$b;
  }
echo(round($c) . "<br>");.'" readonly=""/>
</div>

近似值
有人能帮忙吗?怎么了。 这对你来说可能是最基本的-但是我正在学习php-感谢你的帮助

编辑 下面是完整的代码

     <?php
     define( '_JEXEC', 1);
     $database = &JFactory::getDBO();

  <2 different tables been called>
  after that below:-

      if(isset($_GET["ncvd"])){  
$NewToyVariantDetail=$_GET["ncvd"];
$sql = "SELECT * from toy_newtoy_variants where v_status='1' and v_id='".$NewToyVariantDetail."'";
$database->setQuery($sql);
$rows = $database->loadObject();
$list=' <div class="common-box">
      <div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" 
    value="'.(($rows->v_price*3.41)/100) .'" readonly=""/></div>
      die($list);
     }
   ?>
试试这个

value = "<?php echo ($rows->v_price*3.41/100) ?>"
value=“”

内联PHP在这方面效果更好。。。虽然,您可能希望将方法作为类的一部分,这将为您计算它,所以您不需要在这么小的空间中放入这么多逻辑

<div class="common-box">
<div class="common-box-left">Approx Value</div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" value="<?=round(($this->prodDet->v_price > 500000) ? $this->prodDet->v_price * 0.02307 : $this->prodDet->v_price * 0.02889));?>" readonly=""/></div>

这是您应该使用的版本。我不明白您为什么要使用
die()
,因此您可能希望在那里结束代码执行。为此,如果必须,您只需调用即可。

您的代码在以下位置出现问题:

echo(round($c) . "<br>");
回声(圆形($c)。“
”;
这是正在工作的一个

<?php
$v_price = 500;
echo '
<div class="common-box">
<div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" value="'.($a = $v_price);
  $b=.02889;
  $z=.02307;
  if ($a > 500000){
    $c=$a*$z;
  } else {
    $c=$a*$b;
  }
echo round($c).'" readonly=""/>
</div>';
?>
<?php
$v_price = 500;
$a = $v_price;
$b=.02889;
$z=.02307;
  if ($a > 500000){
    $c=$a*$z;
  } else {
    $c=$a*$b;
  }
$val = round($c);
?>

<div class="common-box">
<div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" value="<?php echo $val;?>" readonly=""/>
</div>  
- <div class="common-box">  is not closed
- <div class="common-box-right">  is missing '; at the end


<?php
define( '_JEXEC', 1);
$database = &JFactory::getDBO();

if(isset($_GET["ncvd"])){  
    $NewToyVariantDetail=$_GET["ncvd"];
    $sql = "SELECT * from toy_newtoy_variants where v_status='1' and v_id='".$NewToyVariantDetail."'";
    $database->setQuery($sql);
    $rows = $database->loadObject();
    $list=' <div class="common-box">
    <div class="common-box-left">Approx Value </div>
    <div class="common-box-right"><input name="idv" type="text" class="text-box" 
    value="'.(($rows->v_price*3.41)/100) .'" readonly=""/></div></div>';
    echo $list;
}
?>

我的建议是单独编写PHP代码(就像您进行计算一样),而不是在html输入代码中

例如

<?php
$v_price = 500;
echo '
<div class="common-box">
<div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" value="'.($a = $v_price);
  $b=.02889;
  $z=.02307;
  if ($a > 500000){
    $c=$a*$z;
  } else {
    $c=$a*$b;
  }
echo round($c).'" readonly=""/>
</div>';
?>
<?php
$v_price = 500;
$a = $v_price;
$b=.02889;
$z=.02307;
  if ($a > 500000){
    $c=$a*$z;
  } else {
    $c=$a*$b;
  }
$val = round($c);
?>

<div class="common-box">
<div class="common-box-left">Approx Value </div>
<div class="common-box-right"><input name="idv" type="text" class="text-box" value="<?php echo $val;?>" readonly=""/>
</div>  
- <div class="common-box">  is not closed
- <div class="common-box-right">  is missing '; at the end


<?php
define( '_JEXEC', 1);
$database = &JFactory::getDBO();

if(isset($_GET["ncvd"])){  
    $NewToyVariantDetail=$_GET["ncvd"];
    $sql = "SELECT * from toy_newtoy_variants where v_status='1' and v_id='".$NewToyVariantDetail."'";
    $database->setQuery($sql);
    $rows = $database->loadObject();
    $list=' <div class="common-box">
    <div class="common-box-left">Approx Value </div>
    <div class="common-box-right"><input name="idv" type="text" class="text-box" 
    value="'.(($rows->v_price*3.41)/100) .'" readonly=""/></div></div>';
    echo $list;
}
?>

近似值

这是回音语句的一部分吗?请显示完整的上下文。你混合了PHP和HTML,到处都有语法错误。你最好在某个地方学习一个PHP初学者教程,然后仔细阅读。PHP在哪里?所有的东西都被单引号所包围吗?你好,巴玛,纽因-谢谢你的回复。完整的代码添加。我可以就此提出建议。当然,马克,我正要去凤凰城@Ruchika$列表缺少结束div和';最后。我已经发布了基于您以前的代码和完整代码的编码建议。我感觉开始时的整个html块实际上是回音的一部分。OP说第一块代码是有效的。@迈克,是的,再仔细检查一下代码,这就更有意义了。你在
之后错过了一个
$c=
。我错过了删除
$c
,就像在这个代码示例中一样,我正在舍入三元运算符中包装的数学表达式。你好,马克,迈克-谢谢你花时间调试它。我已经添加了完整的代码。通过添加上面的代码,你能看到我缺少bcoz的地方吗?它只是在前端显示代码,而不是它的数学值。谢谢汉克斯,你的代码似乎是正确的。但不知怎么的,这对我不起作用。在结果输出中获取它的值-=”。我在我这边查-如果你有建议,我可以告诉你。thnx@Ruchika我认为php和html代码在某些地方出现了连接错误。只要逐行调试,您就会得到它。