2011-01-17 9 views
1

コードイグナイタで作業中です。値が存在するかどうかをチェック

code igniterにはtable_exists()という関数があります。

テーブル名を渡し、期待どおりにデータベースが存在するかどうかを確認します。

テーブル名が存在する場合、私は何をしたいことtablename1がtablename2などを使用

が存在する場合は私の質問が何であるか、

で、tablename1を使用し、テーブル名

スタートですこれを書く最善の方法は?

+1

フル$this->db->table_exists() CodeIgniterの構文を使用してください!実際、それは[this one](http://thedailywtf.com/Articles/Confessions-The-Shopping-Cart.aspx)のようなにおいがします。あなたはこれを世界中で使っていますか? – deceze

+0

@deceze:非常に真実です。しかし、これらのCSVファイルの内容を格納するにはどうすればいいですか(インデックス作成のためにはmysqlになければなりません)。それらのすべてがモバイル形式の標準形式任意の量の行を持つ任意の量の列を持ちます。彼らは1行35列csvから80k行1列csvまで範囲を広げることができます(私は他のアイデアを公開しています)。 – Hailwood

+0

これには、属性値スキーマからJSONストレージ、NoSQLストレージまで、さまざまなソリューションがあります。それについての新しい質問を開きます。どんなことをしても、テーブルを動的に作成しないでください! – deceze

答えて

1
$i = 1; 
$table_name = 'table'; 
$table_name_test = $table_name; 

while($this->db->table_exists($table_name_test)) { 
    $table_name_test = $table_name . strval($i); 
    $i++; 
} 

$tablename = $tablename_test; 

必ずこれはひどいアイデアのようなにおいが

0

おそらくこのような何か:

$tblname = "sometablename"; 
$i = 1; 
$new_tblname = $tblname; 
while ($this->db->table_exists($new_tblname)){ 
    $new_tblname = $tblname . $i++; 
} 
echo $new_tblname; 
関連する問題