Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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
在javascript和php上具有问题打开模式_Javascript_Php_Jquery - Fatal编程技术网

在javascript和php上具有问题打开模式

在javascript和php上具有问题打开模式,javascript,php,jquery,Javascript,Php,Jquery,我在javascript中遇到了一些问题,我想,它可以打开一个小窗口,但我不知道它现在怎么会不工作。下面是我的javascript代码以及我的php和html代码 <?php require_once '../core/init.php'; $id = $_POST['id']; if(is_numeric($id) && $id > 0 && $id == round($id, 0)){ $id = $_POST['id']; } else {

我在javascript中遇到了一些问题,我想,它可以打开一个小窗口,但我不知道它现在怎么会不工作。下面是我的javascript代码以及我的php和html代码

<?php
require_once '../core/init.php';
$id = $_POST['id'];
if(is_numeric($id) && $id > 0 && $id == round($id, 0)){
 $id = $_POST['id'];

} else {
 exit;
}
$id = (int)$id;
$sql = "SELECT * FROM products WHERE id = '$id'";
$result = $db->query($sql);
$product = mysqli_fetch_assoc($result);
$brand_id = $product['brand'];
$sql = "SELECT brand FROM brand WHERE id = '$brand_id'";
$brand_query = $db->query($sql);
$brand = mysqli_fetch_assoc($brand_query);
$sizestring = $product['sizes'];
$size_array = explode(',', $sizestring);
?>

<!-- Details Modal -->
<?php ob_start(); ?>
<div class="modal fade details-1" id="details-modal" tabindex="-1" role="dialog" aria-labelledby="details-1" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
        <div class="modal-header">
            <button class="close" type="button" onclick="closemodal()" aria-label="close">
                <span aria-hidden="true">&times;</span>
            </button>
            <h4 class="modal-title text-center"><?php echo $product['title']; ?></h4>
        </div>
        <div class="modal-body">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-sm-6">
                        <div class="center-block">
                            <img src="<?php echo $product['image']; ?>" alt="<?php echo $product['title']; ?>" class="details img-responsive">
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <h4>Details</h4>
                        <p><?php echo $product['description']; ?></p>
                        <hr>
                        <p>Price: $<?php echo $product['price']; ?></p>
                        <p>Brand: <?php echo $brand['brand']; ?></p>
                        <form action="add_cart.php" method="post">
                            <div class="form-group">
                                <div clss="col-xs-3">
                                    <label for="quantity">Quantity:</label>
                                    <input type="text" class="form-control" id="quantity" name="quantity">
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="size">Size:</label>
                                <select name="size" id="size" class="form-control">
                                    <option value=""></option>
                                    <?php foreach($size_array as $string) {
                                        $string_array = explode(':', $string);
                                        $size = $string_array[0];
                                        $quantity = $string_array[1];
                                        echo '<option value="'.$size.'">'.$size.' ('.$quantity.' Available)</option>';
                                        } ?>
                                </select>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
        <div class="modal-footer">
            <button class="btn btn-default" onclick="closemodal()">Close</button>
            <button class="btn btn-warning" type="submit"><span class="glyphicon glyphicon-shopping-cart"></span>Add To Cart</button>
        </div>
        </div>
    </div>
</div>
<script>
function closemodal(){
jQuery ('#details-modal').modal('hide');
setTimeout(function(){
    jQuery('#details-modal').remove();
    jQuery('.modal-backdrop').remove();
    },500);
}
</script>
<?php echo ob_get_clean(); ?>
查看var_dump$产品后;结果:

很明显,在yourproducts表中没有名为“brand”的字段

与品牌最接近的域名是band,我认为这是一个拼写错误。因此,如果您更改代码的这一行:

`$brand_id = $product['brand'];`
对此

`$brand_id = $product['band'];`
然后您将解决错误

注意:未定义索引:品牌

在这个查询中,$sql=SELECT*FROM-products,其中id='$id';由于$id是整数,因此无需将其括在单引号中,您可以使用如下方式进行查询:

$sql = "SELECT * FROM products WHERE id = $id";
<?php
require_once '../core/init.php';
$id = $_POST['id'];
if(is_numeric($id) && $id > 0 && $id == round($id, 0)){
 $id = $_POST['id'];
} else {
 exit;
}
$id = (int)$id;

$sql = "SELECT products.*, brand.brand FROM products left join brand on products.band = brand.id WHERE products.id = $id";
$result = $db->query($sql);
$product = mysqli_fetch_assoc($result);
$sizestring = $product['sizes'];
$size_array = explode(',', $sizestring);
?>
另外,看看您的查询,您有两个查询,您可以使用一个简单的联接将它们组合到一个查询中

您有'SELECT*FROM products WHERE id='$id',以及选择brand FROM brand WHERE id='$brand\u id'

在表产品中,字段栏位是表品牌字段id的外键,因此您只需编写以下查询:

$sql = "SELECT products.*, brand.brand FROM products left join brand on products.band = brand.id WHERE products.id = $id";
因此,detailsmodal.php文件顶部的php部分将如下所示:

$sql = "SELECT * FROM products WHERE id = $id";
<?php
require_once '../core/init.php';
$id = $_POST['id'];
if(is_numeric($id) && $id > 0 && $id == round($id, 0)){
 $id = $_POST['id'];
} else {
 exit;
}
$id = (int)$id;

$sql = "SELECT products.*, brand.brand FROM products left join brand on products.band = brand.id WHERE products.id = $id";
$result = $db->query($sql);
$product = mysqli_fetch_assoc($result);
$sizestring = $product['sizes'];
$size_array = explode(',', $sizestring);
?>
你必须把它改成

<p>Brand: <?php echo $product['brand']; ?></p>
注意:由于您使用的是mysqli,因此强烈建议您使用mysqli,而不是将变量直接放入查询中