表 1 - ユーザー
id username items
1 Paul 1(0020);2(0001);
表 2 - アイテム
id name
1 name_here
ユーザーのアイテムに 2(0001) を入れます。これは、2=アイテム ID、0001 がアイテムの量です。これは、アイテム リストを表示する関数です。
function getitems() {
$username = $_SESSION['user'];
$connect = mysql_connect("localhost","root","x") or die("Conexiune nereusita!");
mysql_select_db("skameron") or die("Baza de date nu exista!");
$query = mysql_query("SELECT * FROM users WHERE username='" . $username . "'") or die(mysql_error());
if(mysql_num_rows($query) == 0) {
echo "<tr><td colspan=\"3\">Nu ai iteme in inventar!</td></tr>";
} else {
while($itm = mysql_fetch_assoc($query)) {
$str = $itm['items'];
$items = preg_split("/;/", $str);
foreach ($items as $item){
$temp_item = preg_split("/,/", $item);
if($temp_item){
foreach ($temp_item as $temp_i){
If($temp_i=="")
{
}
else{
$pieces = substr($temp_i, -5, 4);
$piecesold = $pieces;
$pieces = $pieces/1;
//$arrnr = array(0,1,2,3,4,5,6,7,8,9,"(",")");
//$temp_i = str_replace($arrnr,"",$temp_i);
$query2 = mysql_query("SELECT * FROM items WHERE id='" . $temp_i . "'") or die(mysql_error());
if(mysql_num_rows($query2) == 0) {
echo "<tr><td colspan=\"3\">Nu ai iteme in inventar!</td></tr>";
} else {
while($itm2 = mysql_fetch_assoc($query2)) {
$temp_i = $itm2['name'];
$temp_id = $itm2['id'];
echo $temp_i . " <a href='items.php?del=". $temp_id."(".$piecesold.")'>Delete all</a>(". $pieces . ")/<a href='items.php?del=". $temp_id."(".$piecesold.")&nr=1'>Delete 1</a><br>";
}}}}} else {
echo $item;
}}}}}
アイテムを削除するページを作成しましたが、アイテムの数だけを削除する方法が見つかりません...たとえば、これを変更するには: 2(0100);1(0001); これに: 2(0099);1(0001);
このような値を削除する方法は次のとおりです。
$delitem = $_GET['del'];
$queryreg = mysql_query("UPDATE users SET items = REPLACE(items, '$delitem;', '');");
このページで 2(0099) のような値を削除できます。残りは残りますが・・・ 0099/1=99 の項目の金額しか変更できません