Помогите с функцией php - PullRequest
0 голосов
/ 24 июля 2011

Мне нужна функция, которая печатает эти 2 «печати» в базе данных (вставка вступления) при нажатии кнопки.

Вот код:

<?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 голосов
/ 24 июля 2011

Не уверен, правильно ли я вас понял, но, насколько я понимаю, вы хотите записать что-то в базу данных, нажав кнопку, верно?

Ну, чтобы вызвать действие, нажав кнопку,вам нужна форма:

<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 в БД.

Итак, вы публикуете данные на странице обработки (которая также можетбудь тем же, кем ты являешься) и там, ты смотришь, есть ли что-то в массиве $ _POST:

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

Хотя не уверен, что это то, что ты ищешь ...

// edit

ссылаясь на ваш комментарий, я думаю, вы хотите записать вывод цикла в БД ... Сначала вы должны создать соответствующую структуру, например, массив:

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

теперь вы можете превратить массив в простую строку с помощью

$serialized_array = serialize($id2name);

И теперь вы можете записать эту строку в db.И когда вы читаете его из базы данных, вы можете снова превратить его в массив с помощью:

$id2name_array  = unserialize($serialized_array); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...