suche eine sql klasse für tables oder so k.a.

jer1cho

Mitglied
also ich suche eine classe die ungefähr das hier kann:

PHP:
$bla=new Table();
$bla->addField("id","VARCHAR[30]");
$bla->addField("id2","VARCHAR[30]");
$bla->create();
$bla->insert(44,23);

$id=$bla->select("id2","WHERE id=33");

einergmaßen klar was ich brauche?
 
ich kenn jetzt so einen klasse nicht und würd sagen das du nciht drum rum kommst dir selbst eine zu schreiben.
 
ich kenn jetzt so einen klasse nicht und würd sagen das du nciht drum rum kommst dir selbst eine zu schreiben.
 
Es muss ja nicht genaud dies selbe sein es geht nur darum, das die sql abfragen und Felder gekapselt werden in eine klasse.
 
Zuletzt bearbeitet:
Hi, jer1cho...
Ich hab just4fun mal so ne Klasse angefangen...
Womöglich ist das ja etwas für ich...
PHP:
<?php
class QueryCreate{
	protected $table;
	protected $fields;
	protected $primarykey;
	protected $indexkey;
	public function __construct($table){
		$this->table = $table;
		$this->fields = array();
		$this->primarykey = array();
		$this->indexkey = array();
	}
	public function __destruct(){
		unset($this);
	}
	public function addField($name, $typ){
		$this->fields[$name] = $typ;
	}
	public function deleteField($name){
		if(isset($this->fields[$name])){
			unset($this->fields[$name];
		}
		return true;
	}
	public function create(){
		$var = array();
		$query ="CREATE TABLE ".$this->table." (\n";
		foreach($this->fields as $field => $typ){
			$var[]=$field." ".$typ;
		}
		if($this->issetPrimaryKey()){
			$var[]=$this->getPrimaryKey();
		}
		if($this->issetIndex()){
			$var[]=$this->getIndexKey();
		}
		$query.=implode(",\n", $var)."\n);";
	}
	public function setPrimaryKey($key){
		$this->primarykey = $key;
	}
	protected function issetPrimaryKey(){
		if(count($this->primarykey) > 0){
			return true;
		}
		return false;
	}
	protected function getPrimaryKey(){
		$pkey = array();
		$count = count($this->primarykey);
		for($i=0; $i<$count; $i++){
			if(array_key_exists($this->primarykey[$i], $this->fields)){
				$pkey[] = "PRIMARY KEY".$this->primarykey[$i];
			}
		}
		return implode(",\n", $pkey);
	}
	public function deletePrimaryKey($key){
		if(isset($this->primarykey[$key])){
			unset($this->primarykey[$key]);
		}
		return true;
	}
	public function setIndexKey($key){
		$this->indexkey = $key;
	}
	protected function issetIndexKey(){
		if(count($this->indexkey) > 0){
			return true;
		}
		return false;
	}
	protected function getIndexKey(){
		$ikey = array();
		$count = count($this->indexkey[$i];
		for($i=0; $i<$count; $i++){
			$ikey[] = "INDEX ".$this->indexkey[$i]."_Index(".$this->indexkey[$i].")";
		}
		return implode(",\n", $ikey);
	}
	public function deleteIndex($key){
		if(isset($this->indexkey[$key])){
			unset($this->indexkey[$key]);
		}
		return true;
	}
}
?>
 
cool danke. Ich hätte zwar gedacht das es sowas schon gibt.
Aber deine klasse sieht wierklich cool aus, ich werde sie weiterentwickeln .

so ne classe erspart einem ne menge geraffel.

Also wenn ich weiterentwickelungen habe werde ich sie reinposten.
Wenn man das darf.
 
Zuletzt bearbeitet:
jericho, dieses Konzept nennt sich ORM und der gepostete Link enthält gleich auch einige wirklich professionelle Frameworks für diesen Einsatz.
 
Thnx klar darfst du das weiterentwickeln...
Man kann ja eigendlich nur dazu lernen, freuen mich schon über das Ergebniss.
 
Zurück