Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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_Data Transfer - Fatal编程技术网

PHP将信息从一个页面转到另一个页面

PHP将信息从一个页面转到另一个页面,php,mysql,data-transfer,Php,Mysql,Data Transfer,我对php非常陌生,我有一个显示图像的购物车。mysql数据库中的产品名称和详细信息。其代码如下所示: <table border="0" cellpadding="2px" width="600px"> <? $result=mysql_query("select * from products"); while($row=mysql_fetch_array($result)){ ?> <tr>

我对php非常陌生,我有一个显示图像的购物车。mysql数据库中的产品名称和详细信息。其代码如下所示:

<table border="0" cellpadding="2px" width="600px">
    <?
        $result=mysql_query("select * from products");
        while($row=mysql_fetch_array($result)){

    ?>
    <tr>
        <td><img src="<?=$row['picture']?>" /></td>
        <td>    <b><?=$row['name']?></b><br />
                <?=$row['description']?><br />
                Price:<big style="color:green">
                    £<?=$row['price']?></big><br /><br />
                <input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" />
        </td>
    </tr>
    <tr><td colspan="2"><hr size="1" /></td>
    <? } ?>
</table>

" />


价格: 英镑

制作如下链接:

<a href="product.php?product_id=<?=$row['serial']?><?=$row['name']?></a>
在该代码下,您可以添加图片和价格等内容:)

产品的序列号保存在URL(product_id)中,然后由$GET变量调用。因此product_id=1将加载序列号为1的产品


如果你查看当前页面的URL,它中间有8142009个数字。如果你将它改为8142008,它将在你的前面加载前面的问题。这个例子以完全相同的方式工作。

< P>你需要使用POST或get参数来完成这项工作。 我将把显示产品的实际逻辑留给您,但是如果您查看web地址,它们有时会采用的形式。在这种情况下,“?”后面的所有内容都称为查询字符串,并具有&“分隔的变量列表。在本例中,有两个变量foo和stuff,其值分别为bar和no

这也将调用一个名为“index.php”的脚本。PHP公开了一个名为
$\u GET
的超全局变量(也就是说,一个从任何地方都可以神奇地使用的变量)。这是一个数组,包含GET变量名与其值之间的映射。在这种情况下,它将是数组
(“foo”=>“bar”,“stuff”=>“no”)
,因此您可以使用
$\u GET['foo']
$\u GET['stuff']
访问所需的值

POST参数类似,但略有不同。这些是从HTML表单提交的(将“method”属性设置为“post”)。在这种情况下,超级全局
$\u POST
以相同的方式填写,但数组键是HTML中输入元素的名称,它们的值是各自元素的值,因此
将在
$\u POST
中创建一个名为“foo”的条目,其值为“bar”


因此,您应该能够很好地实现所需的功能。

您可能需要在mysql表中添加一个新字段来存储产品页面url,然后执行以下操作

<table border="0" cellpadding="2px" width="600px">
    <?
        $result=mysql_query("select * from products");
        while($row=mysql_fetch_array($result)){

    ?>
    <tr>
        <td><a href="<?=$row['product_page']?>"><img src="<?=$row['picture']?>" /></a></td>
        <td>    <b><?=$row['name']?></b><br />
                <?=$row['description']?><br />
                Price:<big style="color:green">
                    £<?=$row['price']?></big><br /><br />
                <input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" />
        </td>
    </tr>
    <tr><td colspan="2"><hr size="1" /></td>
    <? } ?>
</table>



价格: 英镑


只是建立一个链接<代码>
?我遗漏了什么吗?@Brad nope/+1,你什么也没遗漏。建立链接?你是说只是一个指向另一个页面的超链接?怎样这不可能那么容易…@Jahed,怎么可能不那么容易呢?我在哪里插入?还有其他有用的超全局词,比如
$\u COOKIE
$\u SESSION
,但是我将把这些留给你,因为它们不是100%适用于这个问题。谢谢peter,我已经按照你说的做了,但不幸的是你不能点击这个名字。由于某种奇怪的原因,没有链接。以下是我的php代码:
很抱歉,有一个输入错误,请将其从herf改为href-lol
<table border="0" cellpadding="2px" width="600px">
    <?
        $result=mysql_query("select * from products");
        while($row=mysql_fetch_array($result)){

    ?>
    <tr>
        <td><a href="<?=$row['product_page']?>"><img src="<?=$row['picture']?>" /></a></td>
        <td>    <b><?=$row['name']?></b><br />
                <?=$row['description']?><br />
                Price:<big style="color:green">
                    £<?=$row['price']?></big><br /><br />
                <input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" />
        </td>
    </tr>
    <tr><td colspan="2"><hr size="1" /></td>
    <? } ?>
</table>