Javascript 如何将php代码封装在一个echo中
我有php代码和一些html,我希望我的所有html都用echo(“”)包装,以用于ajax响应。 请帮忙 请帮忙Javascript 如何将php代码封装在一个echo中,javascript,php,sql,ajax,string,Javascript,Php,Sql,Ajax,String,我有php代码和一些html,我希望我的所有html都用echo(“”)包装,以用于ajax响应。 请帮忙 请帮忙 这是我的密码 <?php if (isset($_POST['getcart'])){ $cart_item_query="SELECT * FROM cart"; $cart_item_run = mysqli_query($conn,$cart_item_query); if (mysqli_num_rows($cart_item_run
这是我的密码
<?php
if (isset($_POST['getcart'])){
$cart_item_query="SELECT * FROM cart";
$cart_item_run = mysqli_query($conn,$cart_item_query);
if (mysqli_num_rows($cart_item_run)>0){
$grand_total=0;
while($cart_row=mysqli_fetch_array($cart_item_run)){
$pro_id = $cart_row['product_id'];
$pro_qty = $cart_row['qty'];
$product_query="SELECT * FROM products WHERE product_id = '$pro_id'";
$product_run = mysqli_query($conn, $product_query);
$product_row = mysqli_fetch_array($product_run);
$pro_name = $product_row['product_name'];
$pro_image = $product_row['product_image'];
$pro_sell_price = $product_row['sell_price'];
$total = $pro_sell_price*$pro_qty;
$grand_total =$grand_total+ $total;
?>
<div class='row'>
<div class="col-md-3 col-xs-3"><img src="img/<?php echo $pro_image; ?>" alt="" width="50px"></div>
<div class="col-md-3 col-xs-3"><p><?php echo $pro_name; ?></p><a href=""><p><i class="fa fa-trash" aria-hidden="true"></i> Remove</p></a></div>
<div class="col-md-2 col-xs-2">
<select class="change_qty" size="1" style="width:50px;">
<?
for ($i = 1; $i <= 9; $i++) {
$selected = $pro_qty == $i? 'selected' : '';
echo "<option class='qty' data-pro='{$pro_id}' value='{$i}' {$selected}>{$i}</option>";
}
?>
</select>
</div>
<div class="col-md-2 col-xs-2"><input data-pro="<?php echo $pro_id; ?>" id="price-<?php echo $pro_id; ?>" type="text" value="<?php echo $pro_sell_price; ?>" disabled class="form-control dis-input price"></div>
<div class="col-md-2 col-xs-2"><input id="total-<?php echo $pro_id; ?>" data-pro="<?php echo $pro_id; ?>" type="text" value="<?php echo $total; ?>" disabled class="form-control dis-input total"></div>
</div>
<hr>
<?
}
}
}
?>
“alt=”“width=“50px”>
只需将输出保存在php变量中,并在完成后回显即可。如果您只想在某些DOM中将其输出为html,则无需执行此操作(如上述其他操作)。
`
$cart\u item\u query=“从购物车中选择*”;
$cart\u item\u run=mysqli\u query($conn,$cart\u item\u query);
如果(mysqli\u num\u行($cart\u item\u run)>0){
$grand_总计=0;
而($cart\u row=mysqli\u fetch\u数组($cart\u item\u run)){
$pro_id=$cart_行['product_id'];
$pro_数量=$cart_行['qty'];
$product\U query=“从产品中选择*,其中product\U id='$pro\U id';
$product\U run=mysqli\u查询($conn$product\u查询);
$product\U row=mysqli\u fetch\u数组($product\u run);
$pro_name=$product_行['product_name'];
$pro_image=$product_行['product_image'];
$pro_sell_price=$product_行['sell_price'];
$total=$pro\u售价*$pro\u数量;
$grand_total=$grand_total+$total;
$return\u值=”
“$pro_名称。”
";
对于($i=1;$i)
$return_值=”
”;
}
}
echo$返回值;
}
?>`为什么?离开php并编写html与从php中回显html是一样的。无需回显响应,只需使用ajax自身设置innerHTML。实际上,这是一个正在运行的页面。我需要在购物车页面上显示它,所以在ajax中,我将收到响应,以便我可以将响应设置为购物车页面中某个div的innerHTML。现在它正在显示它在操作页面上,这解决了我的a问题,但现在又出现了一个问题。在这段代码中,当我尝试给出一个事件处理程序(.change)时,你可以看到js中selectbox…的类名发生了变化它无法识别此类。问题出在哪里?在上面的示例中,它回显$return\u value一个变量……问题是我可以回显多个变量吗?如果可以,那么我如何在ajax响应中单独接收这些变量,并将其显示在不同的div中。@kohali这是因为您可能直接在页面加载时分配侦听器。ass在('change','change_qty',function(){your code})
上,你可以像这样使用json编码$arr_with_all_return_values[]=array('msg'=>'your message');$arr_with_all_return_values[]=array('something_to_return'=>'你还需要返回什么?);$arr_with_all返回值[]=array('return\u value'=>$return\u value);echo json\u encode('arr\u with\u all\u return\u value);
$cart_item_query="SELECT * FROM cart";
$cart_item_run = mysqli_query($conn,$cart_item_query);
if (mysqli_num_rows($cart_item_run)>0){
$grand_total=0;
while($cart_row=mysqli_fetch_array($cart_item_run)){
$pro_id = $cart_row['product_id'];
$pro_qty = $cart_row['qty'];
$product_query="SELECT * FROM products WHERE product_id = '$pro_id'";
$product_run = mysqli_query($conn, $product_query);
$product_row = mysqli_fetch_array($product_run);
$pro_name = $product_row['product_name'];
$pro_image = $product_row['product_image'];
$pro_sell_price = $product_row['sell_price'];
$total = $pro_sell_price*$pro_qty;
$grand_total =$grand_total+ $total;
$return_value = "<div class=\"row\">
<div class=\"col-md-3 col-xs-3\"><img src=\"img/".$pro_image."\" alt=\"\" width=\"50px\"></div>
<div class=\"col-md-3 col-xs-3\"><p>".$pro_name."</p><a href=\"\"><p><i class=\"fa fa-trash\" aria-hidden=\"true\"></i> Remove</p></a></div>
<div class=\"col-md-2 col-xs-2\">
<select class=\"change_qty\" size=\"1\" style=\"width:50px;\">";
for ($i = 1; $i <= 9; $i++) {
$selected = $pro_qty == $i? 'selected' : '';
$return_value .= "<option class=\"qty\" data-pro=\"".$pro_id."\" value=\"".$i."\" ".$selected.">".$i."</option>";
}
?>
$return_value .= "</select>
</div>
<div class=\"col-md-2 col-xs-2\"><input data-pro=\"".$pro_id."\" id=\"price-".$pro_id."\" type=\"text\" value=\"".$pro_sell_price."\" disabled class=\"form-control dis-input price\"></div>
<div class=\"col-md-2 col-xs-2\"><input id=\"total-".$pro_id."\" data-pro=\"".$pro_id."\" type=\"text\" value=\"".$total."\" disabled class=\"form-control dis-input total\"></div>
</div>
<hr>";
}
}
echo $return_value;