帮助一个功能PHP

时间:2011-07-24 18:28:54

标签: php mysql sql arrays function

我想要一个在按下按钮时在数据库中打印那些2“print”的功能(插入简介)。

以下是代码:

<?php 
$id2name=array();
$x=mysql_query("SELECT id,name FROM products WHERE id IN(".implode(',',array_keys($_SESSION['cart'])).")");
while($y=mysql_fetch_assoc($x)){
    $id2name[$y['id']]=$y['name'];
}
foreach($_SESSION['cart'] as $k=>$v){
    print "<br>[".$id2name[$k]."]\t".$v."\n <br>";
}

print "<br>$total<br>";
?>

如何使用该功能,在按下按钮时将其打印在数据库中?

1 个答案:

答案 0 :(得分:0)

不确定我是否帮你,但据我所知,你想按一个按钮向数据库写一些东西,对吗?

好吧,要通过按下按钮来触发操作,您需要一个表单:

<form action="page_to_process_the_db_request.php" method="post">
<input type="hidden" value="<?php echo $total;?>" name="total" />
<input type="submit" value="Wirite to DB!" />
</form>

在这个例子中,我假设您要将变量$ total写入DB。

所以你将数据发布到处理页面(也可以是你所在的页面),在那里,你看看$ _POST-array中是否有东西:

<?php
if(isset($_POST['total'])) {
  mysql_query("UPDATE products SET total = ". $total); //or something like that
}
?>

不确定这是否是您正在寻找的......

//修改

参考你的评论,我想你想把循环的输出写到DB ... 首先,您必须创建一个适当的结构,如数组:

foreach($_SESSION['cart'] as $k=>$v){
    $id2name[$k]['name'] = $v;
}

现在您可以使用

将数组转换为简单的字符串
$serialized_array = serialize($id2name);

现在您可以将此字符串写入db。当你从db中读取它时,可以使用以下命令将其重新转换为数组:

$id2name_array  = unserialize($serialized_array);