PHP для переноса информации с одной страницы на другую - PullRequest
0 голосов
/ 15 ноября 2011

Я новичок в 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>

Я хочу, чтобы пользователь мог щелкнуть изображение / название продукта, на котором он должен перенести пользователя на другую страницу с отображением выбранного продукта.

Кстати, моя таблица mysql состоит из следующих полей:

последовательный название описание цена фотография

как мне это сделать? спасибо

Ответы [ 3 ]

2 голосов
/ 15 ноября 2011

Сделайте такую ​​ссылку:

<a href="product.php?product_id=<?=$row['serial']?><?=$row['name']?></a>

Затем на странице product.php вставьте:

$id = $_GET['product_id'];
$result=mysql_query("select * from products WHERE serial = '$id'");
$row=mysql_fetch_array($result);

Под этим кодом вы можете добавить такие вещи, как изображение, цена и т. Дetc:)

Серийный номер продукта хранится в URL (product_id), а затем вызывается переменной $ _GET.SO product_id = 1 загрузит продукт с серийным номером 1.

Если вы посмотрите на URL этой текущей страницы, то в середине будет номер 8142009.Если вы измените его на 8142008, он загрузит предыдущий вопрос перед вашим.Этот пример работает точно так же.

0 голосов
/ 15 ноября 2011

вам, вероятно, понадобится новое поле в таблице 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>

или вы можете легко использовать peters answer lol

0 голосов
/ 15 ноября 2011

Для этого нужно использовать параметры POST или GET.

Я оставлю фактическую логику отображения продукта на ваше усмотрение, но если вы посмотрите на веб-адреса, они иногда принимают форму http://www.example.com/index.php?foo=bar&stuff=no. В этом случае все после «?» называется строкой запроса и имеет список переменных с разделителем «&». В этом случае есть две переменные, foo и stuff, которые имеют значения bar и no соответственно.

Это также вызовет скрипт с именем "index.php". PHP предоставляет суперглобальный (то есть переменную, которая волшебным образом доступна везде) под названием $_GET. Это массив, содержащий отображение между именами переменных GET и их значениями. В этом случае это будет массив ("foo"=>"bar", "stuff"=>"no"), поэтому вы можете получить доступ к необходимым значениям, используя $_GET['foo'] и $_GET['stuff'].

Параметры POST похожи, но немного отличаются. Они отправляются из HTML-форм (с атрибутом «method», установленным в «post»). В этом случае суперглобальный $_POST заполняется таким же образом, но ключи массива являются именами элементов ввода в HTML, а их значения являются значениями соответствующих элементов, поэтому <input type="hidden" name="foo" value="bar" /> создаст запись в $_POST называется "foo" со значением "bar".

Исходя из этого, вы должны иметь возможность достойно реализовать то, что вам нужно.

...