Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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
Php 将目标链接发送到数据库中,然后将其回显_Php_Mysql_Hyperlink_Path - Fatal编程技术网

Php 将目标链接发送到数据库中,然后将其回显

Php 将目标链接发送到数据库中,然后将其回显,php,mysql,hyperlink,path,Php,Mysql,Hyperlink,Path,我有一个产品页面,在那里我通过像这样的while循环输出我的产品 <?php // Loop to display all products foreach($products as $id => $product) { ?> <div class="item"> <div class="productpiccontainer"> <?php echo "<img src='product

我有一个产品页面,在那里我通过像这样的while循环输出我的产品

<?php   
// Loop to display all products
foreach($products as $id => $product) {
?>
    <div class="item">
        <div class="productpiccontainer">
            <?php echo "<img src='productpics/". $row['img'] ."' alt='Product Pic'>"; ?>
        </div>      
        <p><?php echo "<a href='./viewProduct.php?view_product=$id'>" . $product['name'] . "</a>"; ?></p>
        <p> <?php echo "$" . $product['price']; ?> </p>                                     
    </div>
<?php
    }
?>

正如您在代码中看到的,我将查看产品页面链接为标准页面,并显示产品id单击的产品。现在我要做的是创建不同的查看产品页面,以便展示不同类型的产品

我将产品插入数据库的方式是通过我创建的管理页面。我通过此输入产品id、名称、类别等,然后将其发送到我的数据库并在产品页面上输出

现在,我的想法是在我的管理页面中创建一个新的输入字段,它是一个选项字段,具有多个“查看产品”模板。我想把我的产品页面上显示的链接发送到我的数据库中

<?php echo "<a href='./viewProduct.php?view_product=$id'>" . $product['name'] . "</a>"; ?>

然后,我可以选择正在创建的每个附加产品,并将其反映到我的产品页面上

所以应该是这样的

<p><?php echo "$product['option']" . $product['name'] . "</a>"; ?></p>

我遇到的问题是我不知道如何发送链接

<a href='./viewProduct.php?view_product=$id'>

输入我的数据库,甚至尝试回显

我试图将其作为一个字段发送,就像我在页面中发送所有其他数据一样

<select class="optionbar" name="viewproduct_type">
    <option name="notSelected">Not Selected</option>
    <option name="viewproduct_type" value="a href='./viewProduct.php?view_product=$id">Standard</option>
    <option name="viewproduct_type" value="Option">Option</option>
</select>

未选择
标准
选项

如何发送此链接,或者有更好的选择吗?我希望尽可能地使其自动化,因此我要这样做。

您试图将html代码作为另一个html元素中的值,这只是自找麻烦。如果你真的想做到这一点,我建议你读一下。 您的第二个问题是,您显然没有逃避插入。了解

在您的情况下,最简单的方法是将ID传递给您的选择列表,然后在插入之前将链接与ID结合起来。无需在选择列表值中存储完整链接

示例代码

<html>
<head>
</head>
<body>

<form name="ASD" method="post" action="mysqli.php">
    <select name="link">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
    <input type="submit" value="Go" />
</form>

<?php
error_reporting(E_ALL);

$db = mysqli_connect("localhost", "root", "", "test", 3306) OR die ('Could not connect to MySQL: ' . mysql_error());

if (isset($_POST["link"])) {
    $save="./viewProduct.php?view_product=".$_POST["link"];
    $save = mysqli_real_escape_string($db, $save);
    $r = mysqli_query($db, "INSERT INTO links VALUES('".$save."')");

    if ($r === false) echo "Failed ".mysqli_error();
    else echo "Success";
} 

?>

</body>
</html>

选择1
选择2

我不确定我是否理解正确,但您只是想将链接保存到数据库中?这到底有什么问题?@cen每当我尝试发送查询时,我都会收到错误,现在允许我插入链接。无法插入:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1Maybe行的“./viewProduct.php?view_product=$id',”,)”附近使用的正确语法,因为您的链接包含引号。尝试转义它。@cen我尝试去掉引号,然后运行查询,但只插入了字母a。我是这样写的。。。但是我如何输出呢?我仍然不知道如何将链接添加到我的数据库中?我将有两个不同的链接。我希望我添加的每个新产品都能够区分我使用的产品模板(链接)。然后将其输出。对于您将类型保存为int或完整字符串的每个产品,如果您希望基于该类型更改模板,可以使用其他URL参数,例如:
?view\u product=$id&type=$product['type']
。然后,您只需根据
$\u GET['type']
值在view\u product.php中切换显示即可。