OOП PHP в примери Част 2

STaNiMiR

Registered
Това е допълнение към следния урок
http://web-tourist.net/login/login/view.php?st=2335

Реших да ги напиша Insert и Update. В последствие ще добава и други неща :)

Ако имате предложения към кода казвайте :P

Код:
public function dbInsert($tableName, $value)
	{
		$colVal = explode(", ", $value); //Преобразува в масив стринга с полетата и данните за тях
		$len = count($colVal); //записваме броя на полетата и данните
		//почистваме ги
		foreach($colVal as &$val) 
		{
			strip_tags($val);
			addslashes($val);
			htmlspecialchars($val);
		}
		
		//Проверка дали има полета и данни
		if($len == 0) 
			throw new Exception('No Column Values to Insert Into Table.');
		else if( ($len % 2) != 0)
		//На всяко поле се съпоставя данна. Следователно дължината на масива трябва да е четен
			throw new Exception('Odd Column Values to Insert Into Table.');
		else if( $tableName == "")
			throw new Exception('There is not Table Set');
			
		//построяваме си заявката
		$sql = "INSERT INTO `".$tableName."` ( `";
		for($i = 0; $i < $len; $i += 2)
		{
			$sql .= $colVal[$i];
			if($i < $len - $i)
			{
				$sql .="`, `";
			}
		}
		
		$sql .="`) VALUES ( '";
		
		for($i = 1; $i < $len; $i += 2)
		{
			$sql .= $colVal[$i];
			if($i < $len - 1)
			{
				$sql .="', '";
			}
		}
		
		$sql .="')";
		//тук е подаваме да се изпълни
		$this->dbQuery($sql);		
	}

пример за Insert
Код:
$db = new DB();
$db->dbInsert('Tablica', 'pole1, stroinost1, pole2, stroinost2, 4islo, 5');

Код:
public function dbUpdate($tableName, $value, $crit)
	{
		$colVal = explode(", ", $value); //Преобразува в масив стринга с полетата и данните за тях
		$len = count($colVal); //записваме броя на полетата и данните
		//почистваме ги
		foreach($colVal as &$val) 
		{
			strip_tags($val);
			addslashes($val);
			htmlspecialchars($val);
		}
		
		//Проверка дали има полета и данни
		if($len == 0) 
			throw new Exception('No Column Values to Insert Into Table.');
		else if( ($len % 2) != 0)
		//На всяко поле се съпоставя данна. Следователно дължината на масива трябва да е четен
			throw new Exception('Odd Column Values to Insert Into Table.');
		else if( $crit == "")
			throw new Exception('There is not Critery Set');
		else if( $tableName == "")
			throw new Exception('There is not Table Set');
			
		//построяваме си заявката
		$sql = "UPDATE `".$tableName."` SET ";
		
		for($i = 0; $i < $len; $i += 2)
		{
			$sql .= "`".$colVal[$i]."` = '".$colVal[$i + 1]."'";
			if($i + 2 < $len )
			{
				$sql .=", ";
			}
			
		}
		$sql .= "WHERE ".$crit;

		//тук е подаваме да се изпълни
		$this->dbQuery($sql);
		
	}

Пример
Код:
$db->dbUpdate('Tablica', 'pole2, update2', 'ID = 2');
това е засега
 

Back
Горе