MySQLテーブルには、SUBJECT
とYEAR
の2つの列があります。
SUBJECTとYEARからの連結データを保持する英数字の一意の番号を生成したい。
これどうやってするの? +
のような単純な演算子を使用できますか?
次のように CONCAT
関数を使用できます。
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
更新:
その結果を得るには、これを試すことができます:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
PHPでは、テーブルの列を連結する2つのオプションがあります。
クエリを使用した最初のオプション
クエリでは、2つの列を連結するために使用されるCONCATキーワード
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
記号(。)を使用する2番目のオプション
データベーステーブルからデータを取得した後、値を変数に割り当て、(。)Symbolを使用して値を連結します
$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;
アンダースコア(_)の代わりに、スペース、コンマ、文字、数字などを使用します。
$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');