私は小さな問題に直面しています。 eショッピングサイトですが、ちょっと助けて欲しいだけです。 カートに追加リンクをクリックするとアイデアがカートのページに移動し、編集と削除の2つのリンクがあり、削除によってアイテムが削除され、それが機能しています。 編集リンクを押すと数量欄のテキストボックスが表示され、保存ボタンを押すと保存されます。データボックスに更新がありますスイッチで2つのケースの間でtextboxtの値を転送する方法
問題は次のとおりです。 case "showupdate"を別のcase "savee"に変更しますか? 私は$qq=$_POST['qun'];
にしようとしたアクションとIDの横にセーブのリンクで変数を送っましたが、それは常に仕事をdoesnotそれは未定義の変数と 『qun』
第二の問題点は次のとおりです。テキストボックスとリンクを保存するには、すべてに表示されます。カートの項目は、私はそれを望んでいない、私はその項目の横に編集を押して、テキストボックスに変更してリンクを保存するだけです。
私は「whileループ入れましことを知って、それは単にテキストボックスを取得し、ここにリンク
を救う唯一のプレスリンク編集コードを助けてくださいお願いしたときにアイテムのidはそれを得たことを確認することです私はリンクを追加]をクリックした場合、私、
switch($action){
case "add":
{$id=$_REQUEST['id'];
$query='insert into cart values("1",'.$id.',"1")';
$result=mysql_query($query);
header("location:cart.php?action=show");
break;
}
case "remove":
{ $id=$_REQUEST['id'];
echo $id;
$query='delete from cart where itemId='.$id.'' or die(mysql_error());
$result = mysql_query($query) or die(mysql_error());
header ("location:cart.php?action=show");
break;}
case "showupdate":
{ $id=$_REQUEST['id'];
$sql2="select * from cart";
$result2= mysql_query($sql2);
while($row2 = mysql_fetch_array($result2))
{ if ($id == $row2['itemId'])
{ $totalCost =0;
$query = "select * from cart inner join items on cart.itemId = items.itemId";
$result = mysql_query($query);
?>
<table width="100%" border="1">
<?php while($row = mysql_fetch_array($result)){
$totalCost += ($row["qty"] * $row["itemPrice"]);
?>
<tr>
<td><img src="<?php echo $row["image"];?>" height="50" width="50"/></td>
<td><?php echo $row["itemName"]; ?></td>
<td>SR<?php echo $row["itemPrice"]; ?></td>
<td>
<form method="POST" name="form1">
<input type = "text" name="qun" value="<?php echo $row['qty'];?>" size="10"/>
</form>
</td>
<td><a href="cart.php?action=savee&id=<?php echo $row["itemId"]; ?>">Save</a></td>
<td><a href="cart.php?action=remove&id=<?php echo $row["itemId"]; ?>">Remove</a></td>
</tr>
<?php }
// Increment the total cost of all items
$totalCost += ($row["qty"] * $row["itemPrice"]);
$totalCost = $totalCost + ($row["qty"] * $row["itemPrice"]); ?>
<tr> <td colspan="2"> <a href="homestore.php">Keep Shopping</a></td>
<td colspan="2"> <b>Total: SR<?php echo $totalCost; ?></b></td></tr>
</table>
<?php }
} break;}
case "savee":
{ $id=$_REQUEST['id'];
$sql='update cart set qty='.$_POST['qun'].'where itemId='.$id.''or die(mysql_error());
$result=mysql_query($sql)or die(mysql_error());
header ("location:cart.php?action=show");
break;
}
case "show":
{
$totalCost =0;
$query = "select * from cart inner join items on cart.itemId = items.itemId";
$result = mysql_query($query);
?>
<table width="100%" border="1">
<?php while($row = mysql_fetch_array($result))
{
$totalCost += ($row["qty"] * $row["itemPrice"]);
?>
<tr>
<td><img src="<?php echo $row["image"];?>" height="50" width="50"/></td>
<td><?php echo $row["itemName"]; ?></td>
<td>SR<?php echo $row["itemPrice"]; ?></td>
<td><a href="cart.php?action=showupdate&id=<?php echo $row["itemId"]; ?>">edit</a></td>
<td><a href="cart.php?action=remove&id=<?php echo $row["itemId"]; ?>">Remove</a></td>
</tr>
<?php }
// Increment the total cost of all items
$totalCost += ($row["qty"] * $row["itemPrice"]);
$totalCost = $totalCost + ($row["qty"] * $row["itemPrice"]); ?>
<tr> <td colspan="2"> <a href="homestore.php">Keep Shopping</a></td>
<td colspan="2"> <b>Total: SR<?php echo $totalCost; ?></b></td></tr>
</table>
<?php break; }
}?>
、それはヘッダー( "場所があるので、それは追加のケースでなステートメントを切り替えるために挿入することの後に=が「追加」し、その項目 のidアクションtransfareます。 ")それはimmeddiatly私たちにテーブルの編集+リンクを削除リンクをクリックして表示する場合を表示するためにtransfareそれはshowupdateの場合に行くだろうwhi chを表示テキストボックス+保存リンクを一度クリックすると保存されます savee case。
のようなあなたのコードの外観を作ることができますきれいに、あなたは、オブジェクト指向のアプローチを考えがあります? – Baba
私はオブジェクト指向のアプローチで十分ではありません。 – shosho
私はあなたのための例を試してみましょう – Baba