Vložení předmětu do databaze z IS

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Vodarim
Člen | 2
+
0
-

Ahoj, mám takový problém z webu se mě do databaze řadí item pořád na stejné poličko po zakoupení v Itemshopu.
Jak tuto chybu upravim? Zde je code:

<?php

namespace Vodarim;

class Item
{
    const TABLENAME = 'item';

	private $id;

    public function __construct()
    {

    }

    private static function setProperties($instance, $row)
	{
		$instance->id = $row->id;
	    return $instance;
	}

    public static function getById($id)
    {
    	$DB = DB::getDibi('account');

		$result = $DB->select('*')
			->from(self::TABLENAME)
			->where('id = %i', $id)
        	->execute();
		if ($result) {
        	if (count($result) == 1) {
	            $row = $result->fetch();
	            $instance = new self();
				$instance = self::setProperties($instance, $row);
				return $instance;
			} else {
				throw new Exception('Load error.');
			}
        } else {
			throw new Exception('DB error.');
		}

    }

    public function getId()
	{
		return $this->id;
	}

	public static function addItem($userid, $itemid)
	{
		$DB = DB::getDibi();

		$result = $DB->select('max(pos) as pos')
			->from(self::TABLENAME)
			->where('owner_id = %i', $userid)
        	->execute();
		if ($result) {
        	if (count($result) == 1) {
	            $row = $result->fetch();
	            $pos = $row->pos+1;
	            if($pos >= 42) $pos = 0;
	            $array = array(
					'id' => null,
					'owner_id' => $userid,
					'window' => 'MALL',
					'pos' => $pos,
					'count' => '1',
					'vnum' => $itemid
				);

				$result = $DB->insert(self::TABLENAME, $array)
						->execute();
			} else {
				throw new Exception('Load error.');
			}
        } else {
			throw new Exception('DB error.');
		}




		return true;

	}
}

Děkuji za všechny rady…

Editoval Vodarim (12. 7. 2014 21:18)

iNviNho
Člen | 352
+
0
-

Neviem či chápem otázke,item sa radí na rovnaké miesto znamená čo?

Ak v DB, tak nezabudol si na primary key a na auto_increment (MySQL) ?

Vodarim
Člen | 2
+
0
-

Ahoj, boužel tento code nám na web psala jedna firma a já se v tom nevyznám… ano zakoupená věc se vkládá na (pos 0) pořád dokola, pokusím se vyhledat něco o tom primary key a na auto_increment (MySQL) Děkuji za reakci…