일부 DB 값 관련 정보 변경. update 쿼리, insert into 쿼리 일부 변경

This commit is contained in:
2018-10-20 17:41:48 +09:00
parent aa19ae129b
commit cee0d3f03e
8 changed files with 210 additions and 119 deletions
+1 -1
View File
@@ -182,7 +182,7 @@ $gen1 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $cit
$gen2 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $city['gen2']);
$gen3 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $city['gen3']);
if($city['trade'] == 0) {
if($city['trade'] === null) {
$city['trade'] = "- ";
}
+1 -1
View File
@@ -127,7 +127,7 @@ for ($j=0; $j < $citycount; $j++) {
$level = $city['level'];
}
if ($city['trade'] == 0) {
if ($city['trade'] === null) {
$city['trade'] = "- ";
}
+69 -53
View File
@@ -53,35 +53,36 @@ if($btn == '참가') {
}
$general['gold'] -= $admin['develcost'];
$query = "select grp from tournament where grp<10 group by grp having count(*)=8";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grpCount = MYDB_num_rows($result);
$occupied = [];
for($i=0; $i < $grpCount; $i++) {
$grp = MYDB_fetch_array($result);
$occupied[$grp['grp']] = 1;
foreach($db->queryFirstColumn('SELECT grp FROM tournament WHERE grp < 10 GROUP BY grp HAVING count(*)=8') as $grp){
$occupied[$grp] = true;
}
$map = [];
for($i=0; $i < 8; $i++) {
if(!Util::array_get($occupied[$i])) {
$map[] = $i;
}
}
$grpCount = count($occupied);
if($grpCount < 8) {
$grp = $map[rand() % count($map)];
$query = "select grp from tournament where grp='$grp'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grpCount = MYDB_num_rows($result);
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['leader']}', '{$general['power']}', '{$general['intel']}', '{$general['explevel']}', '$grp', '$grpCount', '{$general['horse']}', '{$general['weap']}', '{$general['book']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update general set tournament=1,gold='{$general['gold']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grp = Util::choiceRandom(array_keys($occupied));
$grpMemberCount = $db->queryFirstField('SELECT count(*) FROM tournament WHERE grp=%i', $grp);
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['leader'],
'pwr'=>$general['power'],
'itl'=>$general['intel'],
'lvl'=>$general['explevel'],
'grp'=>$grp,
'grp_no'=>$grpMemberCount,
'h'=>$general['horse'],
'w'=>$general['weap'],
'b'=>$general['book']
]);
$db->update('general', [
'tournament'=>1,
'gold'=>$general['gold']
], 'no=%i', $general['no']);
}
$query = "select grp from tournament where grp<10 group by grp having count(*)=8";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grpCount = MYDB_num_rows($result);
$grpCount = $db->queryFirstField('SELECT count(*) FROM tournament where grp<10 GROUP BY grp HAVING count(*)=8');
if($grpCount >= 8) {
$gameStor->tournament = 2;
$gameStor->phase = 0;
@@ -155,38 +156,39 @@ if($btn == "자동개최설정") {
//참가
}
$query = "select grp from tournament where grp<10 group by grp having count(*)=8";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grpCount = MYDB_num_rows($result);
$occupied = [];
for($i=0; $i < $grpCount; $i++) {
$grp = MYDB_fetch_array($result);
$occupied[$grp['grp']] = 1;
}
$map = [];
for($i=0; $i < 8; $i++) {
if(!isset($occupied[$i]) || $occupied[$i] == 0) {
$map[] = $i;
}
foreach($db->queryFirstColumn('SELECT grp FROM tournament WHERE grp < 10 GROUP BY grp HAVING count(*)=8') as $grp){
$occupied[$grp] = true;
}
$grpCount = count($occupied);
if($grpCount < 8) {
$grp = $map[rand() % count($map)];
$query = "select grp from tournament where grp='$grp'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grpCount = MYDB_num_rows($result);
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['leader']}', '{$general['power']}', '{$general['intel']}', '{$general['explevel']}', '$grp', '$grpCount', '{$general['horse']}', '{$general['weap']}', '{$general['book']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update general set tournament=1,gold='{$general['gold']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grp = Util::choiceRandom(array_keys($occupied));
$grpMemberCount = $db->queryFirstField('SELECT count(*) FROM tournament WHERE grp=%i', $grp);
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['leader'],
'pwr'=>$general['power'],
'itl'=>$general['intel'],
'lvl'=>$general['explevel'],
'grp'=>$grp,
'grp_no'=>$grpMemberCount,
'h'=>$general['horse'],
'w'=>$general['weap'],
'b'=>$general['book']
]);
$db->update('general', [
'tournament'=>1,
'gold'=>$general['gold']
], 'no=%i', $general['no']);
}
$query = "select grp from tournament where grp<10 group by grp having count(*)=8";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$grpCount = MYDB_num_rows($result);
$grpCount = $db->queryFirstField('SELECT count(*) FROM tournament where grp<10 GROUP BY grp HAVING count(*)=8');
if($grpCount >= 8) {
$gameStor->tournament=2;
$gameStor->phase=0;
$gameStor->tournament = 2;
$gameStor->phase = 0;
}
} elseif($btn == "쪼렙전부투입" || $btn == "일반전부투입" || $btn == "굇수전부투입" || $btn == "랜덤전부투입") {
@@ -236,10 +238,24 @@ if($btn == "자동개최설정") {
$grp = intdiv($code[$i], 10);
$grp_no = $code[$i] % 10;
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['leader']}', '{$general['power']}', '{$general['intel']}', '{$general['explevel']}', '$grp', '$grp_no', '{$general['horse']}', '{$general['weap']}', '{$general['book']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update general set tournament=1,gold=gold-'{$admin['develcost']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['leader'],
'pwr'=>$general['power'],
'itl'=>$general['intel'],
'lvl'=>$general['explevel'],
'grp'=>$grp,
'grp_no'=>$grp_no,
'h'=>$general['horse'],
'w'=>$general['weap'],
'b'=>$general['book']
]);
$db->update('general', [
'tournament'=>1,
'gold'=>$db->sqleval('gold - %i', $admin['develcost'])
], 'no=%i', $general['no']);
}
$gameStor->tournament = 2;
+6 -4
View File
@@ -74,11 +74,13 @@ if($btn == "수정") {
$gameStor->vote_title = '-';
$gameStor->votecomment=[];
$query = "update general set vote='0'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('general', [
'vote'=>0
], true);
} elseif($btn == "알림") {
$query = "update general set newvote='1' where vote=0";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('general', [
'newvote'=>1
], 'vote=0');
} elseif($btn == "숨김") {
$gameStor->voteopen = 0;
} elseif($btn == "전체통계만") {
+2 -2
View File
@@ -157,7 +157,7 @@ function cityInfo() {
$secu = $city['secu'] / $city['secu2'] * 100;
$def = $city['def'] / $city['def2'] * 100;
$wall = $city['wall'] / $city['wall2'] * 100;
if($city['trade'] == 0) {
if($city['trade'] === null) {
$trade = 0;
$tradeStr = "상인없음";
} else {
@@ -594,7 +594,7 @@ function commandTable() {
addCommand("단련(자금$develcost, 군량$develcost)", 41, 0);
}
addCommand("견문(자금?, 군량?, 경험치?)", 42);
if($city['trade'] > 0) {
if($city['trade'] !== null) {
addCommand("장비매매", 48);
addCommand("군량매매", 49);
} else {
+8 -4
View File
@@ -163,16 +163,20 @@ function pushNationHistory($nation, ?string $history) {
if(!$nation || !$nation['nation']){
return;
}
DB::db()->query("UPDATE nation set history=concat(%s, history) where nation=%i",
$history.'<br>', $nation['nation']);
$db = DB::db();
$db->update('nation', [
'history'=>$db->sqleval('concat(%s, history)', $history.'<br>')
], 'nation=%i', $nation['nation']);
}
function pushGeneralHistory($me, ?string $history) {
if(!$history){
return;
}
DB::db()->query("UPDATE general set history=concat(%s, history) where no=%i",
$history.'<br>', $me['no']);
$db = DB::db();
$db->update('general', [
'history'=>$db->sqleval('concat(%s, history)', $history.'<br>')
], 'nation=%i', $me['no']);
}
function getGeneralHistoryAll(int $no) {
+11 -10
View File
@@ -539,20 +539,21 @@ function tradeRate() {
case 1: $per = 0; break;
case 2: $per = 0; break;
case 3: $per = 0; break;
case 4: $per = 20; break;
case 5: $per = 40; break;
case 6: $per = 60; break;
case 7: $per = 80; break;
case 8: $per = 100; break;
case 4: $per = 0.2; break;
case 5: $per = 0.4; break;
case 6: $per = 0.6; break;
case 7: $per = 0.8; break;
case 8: $per = 1; break;
default:$per = 0; break;
}
if($per > rand()%100) {
$trade = rand() % 11 + 95;
if($per > 0 && Util::randBool($per)) {
$trade = Util::randRangeInt(95, 105);
} else {
$trade = 0;
$trade = null;
}
$query = "update city set trade='$trade' where city='{$city['city']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$update('city', [
'trade'=>$trade
], 'city=%i', $city['city']);
}
}
+112 -44
View File
@@ -258,10 +258,26 @@ function startTournament($auto, $type) {
for($i=0;$i<16;$i+=1){
$gameStor->setValue("bet{$i}", 0);
}
$query = "update general set tournament=0,bet0=0,bet1=0,bet2=0,bet3=0,bet4=0,bet5=0,bet6=0,bet7=0,bet8=0,bet9=0,bet10=0,bet11=0,bet12=0,bet13=0,bet14=0,bet15=0";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "truncate tournament";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('general', [
'tournament'=>0,
'bet0'=>0,
'bet1'=>0,
'bet2'=>0,
'bet3'=>0,
'bet4'=>0,
'bet5'=>0,
'bet6'=>0,
'bet7'=>0,
'bet8'=>0,
'bet9'=>0,
'bet10'=>0,
'bet11'=>0,
'bet12'=>0,
'bet13'=>0,
'bet14'=>0,
'bet15'=>0
], true);
$db->query('TRUNCATE TABLE tournament');
$history = [];
switch($type) {
@@ -283,13 +299,18 @@ function fillLowGenAll() {
$develcost = $gameStor->develcost;
$general['no'] = 0;
$general['name'] = "무명장수";
$general['npc'] = 2;
$general['leader'] = 10;
$general['power'] = 10;
$general['intel'] = 10;
$general['explevel'] = 10;
$dummyGeneral = [
'no'=>0,
'npc'=>2,
'name'=>'무명장수',
'leader'=>10,
'power'=>10,
'intel'=>10,
'explevel'=>10,
'horse'=>$general['horse'],
'weap'=>$general['weap'],
'book'=>$general['book']
];
for($i=0; $i < 8; $i++) {
$query = "select grp from tournament where grp='$i'";
@@ -310,19 +331,32 @@ function fillLowGenAll() {
//비었으면 채우기
if($grpCount[$i] < 8) {
//자동신청 장수 있으면 채우기
if($genCount > 0) {
if ($genCount > 0) {
$genCount--;
$gen = MYDB_fetch_array($result);
$query = "update general set tournament='1' where no='{$gen['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no) values ('{$gen['no']}', '{$gen['npc']}', '{$gen['name']}', '{$gen['leader']}', '{$gen['power']}', '{$gen['intel']}', '{$gen['explevel']}', '$i', '$grpCount[$i]')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
//자동신청 장수 없으면 무명장수
} else {
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['leader']}', '{$general['power']}', '{$general['intel']}', '{$general['explevel']}', '$i', '$grpCount[$i]')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
$db->update('general', [
'tournament'=>1
], 'no=%i', $general['no']);
}
else{
$general = $dummyGeneral;
}
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['leader'],
'pwr'=>$general['power'],
'itl'=>$general['intel'],
'lvl'=>$general['explevel'],
'grp'=>$i,
'grp_no'=>$grpCount[$i],
'h'=>$general['horse'],
'w'=>$general['weap'],
'b'=>$general['book']
]);
$grpCount[$i]++;
}
//덜 찼으면 루프 다시
@@ -427,27 +461,39 @@ function selection($tnmt_type, $tnmt, $phase) {
//시드1 배정
if($phase < 8) {
$grp = $phase + 10; $grp_no = 0;
$query = "select * from tournament where prmt=1 order by rand() limit 0,1";
$general = $db->queryFirstRow('SELECT * FROM tournament WHERE prmt=1 ORDER BY rand() LIMIT 1');
//시드2 배정
} elseif($phase < 16) {
$grp = $phase - 8 + 10; $grp_no = 1;
$query = "select * from tournament where prmt=2 order by rand() limit 0,1";
$general = $db->queryFirstRow('SELECT * FROM tournament WHERE prmt=2 ORDER BY rand() LIMIT 1');
} elseif($phase < 24) {
$grp = $phase - 16 + 10; $grp_no = 2;
$query = "select * from tournament where prmt>2 order by rand() limit 0,1";
$general = $db->queryFirstRow('SELECT * FROM tournament WHERE prmt>2 ORDER BY rand() LIMIT 1');
} else {
$grp = $phase - 24 + 10; $grp_no = 3;
$query = "select * from tournament where prmt>2 order by rand() limit 0,1";
$general = $db->queryFirstRow('SELECT * FROM tournament WHERE prmt>2 ORDER BY rand() LIMIT 1');
}
//해당 시드에서 랜덤 선택
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
//본선에 추가
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['ldr']}', '{$general['pwr']}', '{$general['itl']}', '{$general['lvl']}', '$grp', '$grp_no', '{$general['h']}', '{$general['w']}', '{$general['b']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['ldr'],
'pwr'=>$general['pwr'],
'itl'=>$general['itl'],
'lvl'=>$general['lvl'],
'grp'=>$grp,
'grp_no'=>$grp_no,
'h'=>$general['h'],
'w'=>$general['w'],
'b'=>$general['b']
]);
//시드 삭제
$query = "update tournament set prmt=0 where grp='{$general['grp']}' and grp_no='{$general['grp_no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('tournament', [
'prmt'=>0
], 'grp=%i AND grp_no=%i', $general['grp'], $general['grp_no']);
if($phase < 31) {
$gameStor->phase+=1;
@@ -511,17 +557,29 @@ function final16set() {
$grp = Array(10, 14, 11, 15, 12, 16, 13, 17, 14, 10, 15, 11, 16, 12, 17, 13);
$prmt = Array( 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2);
for($i=0; $i < 16; $i++) {
$query = "select * from tournament where grp='$grp[$i]' and prmt='$prmt[$i]'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
$general = $db->queryFirstRow('SELECT * FROM tournament WHERE grp=%i AND prmt=%i LIMIT 1', $grp[$i], $prmt[$i]);
//16강에 추가
$newGrp = 20 + intdiv($i, 2);
$newGrp_no = $i % 2;
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['ldr']}', '{$general['pwr']}', '{$general['itl']}', '{$general['lvl']}', '$newGrp', '$newGrp_no', '{$general['h']}', '{$general['w']}', '{$general['b']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['ldr'],
'pwr'=>$general['pwr'],
'itl'=>$general['itl'],
'lvl'=>$general['lvl'],
'grp'=>$newGrp,
'grp_no'=>$newGrp_no,
'h'=>$general['h'],
'w'=>$general['w'],
'b'=>$general['b']
]);
}
$query = "update tournament set prmt=0";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('tournament', [
'prmt=0'
], true);
$gameStor->tournament=6;
$gameStor->phase=0;
@@ -544,14 +602,24 @@ function finalFight($tnmt_type, $tnmt, $phase, $type) {
$gameStor->phase+=1;
$query = "select * from tournament where grp='$grp' and win>0 and (grp_no=0 or grp_no=1)";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
$general = $db->queryFirstRow('SELECT * FROM tournament WHERE grp=%i AND win>0 AND (grp_no=0 OR grp_no=1) LIMIT 1', $grp);
//x강에 추가
$newGrp = intdiv($phase, 2) + $offset + 10;
$newGrp_no = $phase % 2;
$query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['ldr']}', '{$general['pwr']}', '{$general['itl']}', '{$general['lvl']}', '$newGrp', '$newGrp_no', '{$general['h']}', '{$general['w']}', '{$general['b']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->insert('tournament', [
'no'=>$general['no'],
'npc'=>$general['npc'],
'name'=>$general['name'],
'ldr'=>$general['ldr'],
'pwr'=>$general['pwr'],
'itl'=>$general['itl'],
'lvl'=>$general['lvl'],
'grp'=>$newGrp,
'grp_no'=>$newGrp_no,
'h'=>$general['h'],
'w'=>$general['w'],
'b'=>$general['b']
]);
if($phase >= $turn) {
$gameStor->tournament = $next;