발코딩의 실력 증가... > 자유게시판

자유게시판

발코딩의 실력 증가... 정보

발코딩의 실력 증가...

본문

발코딩 실력도 나날이 증가하네요.....

1년전 작업
<?
include_once("./_common.php");
include_once("$g4[path]/module/sms/sms.lib.php"); // SMS 모듈 로드
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
//                      정보택                       //
///////////////////////////////////////////////////////
// (주) 인포큐브                                     //
// 제작 : 임동덕                                     //
// 연락처 : Tel: (062) 511-0380, Fax: (062) 511-0381 //
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
//////////////// 환경설정 ////////////////
$bo_table = $_GET[bo_table];
$wr_id = $_GET[wr_id];
$mb_id = $_GET[mb_id];
$admin_id = "kira"; // 관리자 아이디 지정
//////////////////////////////////////////
//////////////// DB  설정 ////////////////
$query = "select * from g4_write_$bo_table where wr_id = '$wr_id' order by wr_id"; 
$result = mysql_query($query);
//////////////////////////////////////////

$query_sender = "select * from g4_member where mb_id = '{$mb_id}'"; 
$result_sender = mysql_query($query_sender);
$sender_nick = mysql_fetch_array($result_sender);

$query12 = "select * from g4_member where mb_id = '{$rand_id}'"; 
$result12 = mysql_query($query12);
$dea_hang = @mysql_fetch_array($result12);


$query_h = "select * from g4_member where mb_level = '3' order by mb_1 desc"; // (10-9-8...)
$result_h = mysql_query($query_h);
$h = @mysql_fetch_array($result_h);


$query_l = "select * from g4_member where mb_level = '3' order by mb_1 asc"; // (1-2-3...)
$result_l = mysql_query($query_l);
$l = @mysql_fetch_array($result_l);
/*
echo $h[mb_1]."<-높음".$h[mb_id]."<--ID<br>";
echo $l[mb_1]."<-낮음".$l[mb_id]."<--ID<br>";
*/

if($h[mb_1] == $l[mb_1]){ // 회차가 같다면..
$h_ban = "'no_id'";
}
if($h[mb_1] <> $l[mb_1]){ // 회차가 틀리다면..

$query_zdz = "select * from g4_member where mb_1 = '$h[mb_1]'";
$result_zdz = mysql_query($query_zdz);

for($i=0; $i<$zdz = mysql_fetch_array($result_zdz); $i++)
if($i == '0'){ $h_ban = "'$zdz[mb_id]'";}
else{$h_ban .= ", '$zdz[mb_id]'"; }
}



// echo "차단되는 아이디:".$h_ban;


//////////////// 제외 설정 ///////////////
$query_2 = "select * from g4_write_$bo_table"; 
$result_2 = mysql_query($query_2);
// 그누보드 천율님 도움.
$cnt = "0";
while($ban = mysql_fetch_array($result_2)) {
  $band_id[$cnt] = $ban['wr_1'];
  $cnt++;
} // $ban를 배열화하는데 $ban[0] , $ban[1] 이렇게 생성이 되죠

for($i=0;$i<count($band_id);$i++) { // count() 함수는 변수의 갯수를 체크하는 함수 즉 for문은 배열의 갯수만큼만 루프
    if($i == '0'){ $sql_where .= "'$admin_id', '$mb_id', $h_ban"; // 첫 루프일경우
    }else{ //$sql_where .= ", '$band_id[$i]'"; // 그 외 루프일경우  // 중복 당첨 금지 시키려면 "//$sql_where .= ", '$band_id[$i]'";"의 주석해제
  }
}
$band = $sql_where;

// 그누보드 천율님 도움. //
//////////////////////////////////////////
//////////////// 회원수 로드 /////////////
$query_3 = "select * from g4_member where mb_id not in ($band) AND mb_level = '3'"; // where mb_id not in ('$band') 제외 설정의 아이디들을 제외.
$result_3 = mysql_query($query_3);
$num = mysql_affected_rows();

if(mysql_error()){ // 에러가 있을경우 쿼리 출력
echo mysql_error(); // 에러 확인
echo "<br>".$query_3; // 쿼리 찍어보기
}
//////////////////////////////////////////
?>


<body onunload="javascript:opener.location.reload();">
<!-- 회원 추첨 매칭 -->
<script>
function rand() {
tot=<?=$num?> // 자료수
cnt=1; // 추첨인원
data=new Array(tot);

<?
for ($i = 0; $i < $rand = mysql_fetch_array($result_3); $i++) {
$num = $i+1;

echo <<<TEXT
data[{$num}]=new Array("{$rand[mb_id]}");
TEXT;

}?>

lot=new Array(tot);
lot[1]=0;

for (i=1;i<=cnt;i++)
{
    flag=0;
    while(flag==0) {
    result=Math.floor(Math.random()*tot+1);
    
    for(j=1;j<=i;j++) {
       if (result==lot[j]) {
          flag=0;
          break;
       } else {
          flag=1;
       }
    }
    
    }
    lot[i]=result;
}
temp=0;
for (i=1;i<=cnt-1;i++)  {
for (j=i+1;j<=cnt;j++) {
if (lot[i]>lot[j]) {
temp=lot[i];
lot[i]=lot[j];
lot[j]=temp;
}
}
}
for (i=1;i<=cnt;i++)  {
window.location = "?rand_id="+data[lot[i]]+"&bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&mb_id=<?=$mb_id?>";
}
}
</script>
<!-- /회원 추첨 매칭/ -->
<?
//////////////// 권한설정 ////////////////
$view = mysql_fetch_array($result);
if($member[mb_id] == $mb_id){ // 게시글이 추첨하는 사람의 것인지 판단.
  if($view[wr_1] == ""){
    if($rand_id == "undefined"){
        echo "가용 가능한 대행자가 없습니다.";
    }else if($rand_id == ""){
?>
<form name="form">
<table border=0 width='100%' height='100%'><tr><td align='center'>
<input type="button" value="지정하기 " onClick="rand();">

</td></tr></table>
</form>
<?}else if ($rand_id == $rand_id){
  
$time_history = explode("|", $view[wr_7]); // 시간 기록
$time = date("y-m-d H:i", time());




if($h[mb_1] == ""){
if($dea_hang[mb_1] == ""){ // 회차가 없을시 1
$dea_hang[mb_1] = "1";
}elseif($dea_hang[mb_1] <> ""){ // 회차가 있을시 +1
$dea_hang[mb_1] = $dea_hang[mb_1]+1;
}
}elseif($h[mb_1] <> ""){
if($dea_hang[mb_1] == ""){ // 회차가 없을시 1
$dea_hang[mb_1] = $h[mb_1];
}elseif($dea_hang[mb_1] <> ""){ // 회차가 있을시 +1
$dea_hang[mb_1] = $dea_hang[mb_1]+1;
}
}

$sql0 = " update g4_member set
                        mb_1              = '{$dea_hang[mb_1]}'
                        where mb_id='{$rand_id}'";
                        sql_query($sql0);

$sql = " update g4_write_$bo_table set
                        wr_1              = '{$rand_id}',
                        wr_3              = '1',
                        wr_7              = '{$time_history[0]}|{$time_history[1]}|{$time}|{$time_history[3]}|',
                        wr_8              = '{$view[wr_8]}'
                        where wr_id='{$wr_id}'";
            sql_query($sql);

echo "<table border=0 width='100%' height='100%'><tr><td align='center'><img src=\"./img.php?bgcolor=ffffff&color=6c6c6c&size=12&text=지정된 업체\"> <br><font color='blue'><b><img src=\"./img.php?bgcolor=ffffff&color=0042ff&size=12&text=(".$dea_hang[mb_nick].")\"></b></font></td></tr></table>";
echo "<!-- sms 전송시스템 -->";
// 입금 완료 확인시 신청자에게 SMS 발송
$dea_hang_ok = 1;
include_once("$g4[path]/module/sms/sms_send.php");
echo "<!-- //sms 전송시스템// -->";

    }
  }
}else{
echo "<script type='text/javascript'>alert('접근 권한이 없습니다.'); self.close();</script>";
echo $view[wr_1];
}
?>



지금~~~

<?
include_once("./_common.php");
include_once("../head.sub.php");

$today = date("Y-m-d",time()); // 오늘 날짜

//---------------조건 데이터---------------//
$oder = "where "; // 기본적인 조건
$oder .= "state = '업무대행중' "; // 현제 상태가 업무 대행중인것

// 임시지정 횟수가 환경설정의 임시지정횟수보다 작은것만
$query_config = "select * from g4_worker_config"; 
$result_config = mysql_query($query_config);
$config = mysql_fetch_array($result_config);
if($config[temporarily] >= $high[temporarily]){
$oder .= "and temporarily < '{$config[temporarily]}' "; // 임시지정 횟수가 환경설정의 임시지정횟수보다 작은것
}
// 임시지정 횟수가 환경설정의 임시지정횟수보다 작은것만..--end

// 순차적인 랜덤설정을 위한 데이터
//// 임시지정 가장 높은 횟수
$query_high = "select * from g4_worker order by temporarily desc"; 
$result_high = mysql_query($query_high);
$high = mysql_fetch_array($result_high); // worker에서 임시지정횟수가 가장 높은 데이터
//// 임시지정 가장 높은 횟수 --end
//// 임시지정 가장 낮은 횟수
$query_low = "select * from g4_worker order by temporarily asc"; 
$result_low = mysql_query($query_low);
$low = mysql_fetch_array($result_low); // worker에서 임시지정횟수가 가장 낮은 데이터
//// 임시지정 가장 낮은 횟수 --end
echo "<hr>";
echo "관리자 셋팅 값:".$config[temporarily]."<br>가장높은데이터:".$high[temporarily]."<br>가장낮은데이터:".$low[temporarily];
echo "<hr>";
if($high[temporarily] <> $low[temporarily]){ // worker에서 지정횟수의 가장 높은 데이터와 가장 낮은 데이터와 비교해서 틀릴때 $oder추가
$oder .= "and temporarily < '{$high[temporarily]}' "; // 가장 높은 데이터 삭제
}
// 순차적인 랜덤설정을 위한 데이터 --end
//-----------------------------------------//
$query = "select * from g4_worker $oder";
$result = mysql_query($query);
$num = mysql_affected_rows();
?>
<?
$array = array();//배열초기값(공백)
$test =  array();//배열초기값(공백)
for ($i = 0; $i < $member = mysql_fetch_array($result); $i++) {
array_unshift($array, $member[mb_id]); // 배열추가
array_unshift($test, $member[temporarily]); // 배열추가
}

print_r($array);
echo "<-- 아이디<hr>";
print_r($test);
echo "<-- 임시지정횟수<hr>";

$input = $array;
$rand_keys = array_rand($input); // 랜덤
if($input[$rand_keys]){
// 회원아이디를 대행자 아이디로 변환하기 위한 데이터
$query_mem = "select * from g4_member where mb_id = '{$input[$rand_keys]}'";  
$result_mem = mysql_query($query_mem);
$g4_mem = mysql_fetch_array($result_mem);
// 회원아이디를 대행자 아이디로 변환하기 위한 데이터--end
// 회원아이디를 기준으로 worker데이터 로드
$query_wor = "select * from g4_worker where mb_id = '{$input[$rand_keys]}'";  
$result_wor = mysql_query($query_wor);
$worker_mem = mysql_fetch_array($result_wor);
$worker_mem[temporarily] = $worker_mem[temporarily]+1;// 임시지정횟수 +1증가
// 회원아이디를 기준으로 worker데이터 로드--end
if($config[temporarily] == $worker_mem[temporarily]){
// 랜덤추첨 상황 로그기록
$query = "insert into g4_worker_log value('', 'end', '$input[$rand_keys]', '$worker_mem[temporarily]', '업무대행 사이클 만료', '$today');";
echo $query;
sql_query($query); // 로그 기록
// worker 정보 업데이트
$query = "update g4_worker set
state='업무대행중단',
temporarily = '$worker_mem[temporarily]',
reason='업무대행 사이클 만료'
where mb_id='$input[$rand_keys]'";
echo "<hr>".$query;
sql_query($query);
// 회원 정보 업데이트
$g4_mem[mb_1] = $g4_mem[mb_1]+1;// 전체지정횟수 +1증가
$g4_mem[mb_2] = $g4_mem[mb_2]+1;// 싸이클 +1증가
$query = "update g4_member set
mb_1 = '$g4_mem[mb_1]',
mb_2 = '$g4_mem[mb_2]'
where mb_id='$input[$rand_keys]'";
echo "<hr>".$query;
sql_query($query);
}else{
// 랜덤추첨 상황 로그기록
$query = "insert into g4_worker_log value('', 'rand', '$input[$rand_keys]', '$worker_mem[temporarily]', '업무대행자 지정', '$today');";
echo $query;
sql_query($query); // 로그 기록
// worker 정보 업데이트
$query = "update g4_worker set
temporarily = '$worker_mem[temporarily]'
where mb_id='$input[$rand_keys]'";
echo "<hr>".$query;
sql_query($query);
// 회원 정보 업데이트
$g4_mem[mb_1] = $g4_mem[mb_1]+1;// 전체지정횟수 +1증가
$query = "update g4_member set
mb_1 = '$g4_mem[mb_1]'
where mb_id='$input[$rand_keys]'";
echo "<hr>".$query;
sql_query($query);
}
// 알림출력
echo "<script type='text/javascript'>alert('{$g4_mem[mb_name]}({$input[$rand_keys]})님께서 대행자로 지정되셨습니다.');
//self.close();</script>";
}else{
echo "<script type='text/javascript'>alert('가용 업무대행자가 존재하지 않습니다.\\n 관리자에게 문의 바랍니다.'); //self.close();</script>";

}
?>












추천
0

댓글 42개

뭐,.,. 그냥 그렇다구요....
기존 소스에 오류가 넘쳐나서.... 테이블 추가후 분리 작업중입니다 ㅎㅎㅎㅎ
퇴사전까지 완성 해야는데 ㅠㅠ
ㅡㅡ;;;헐;;; 저게 발코딩이라구요??;; 그럼 나는 ㅠㅠ;;발톱 때낀 코딩인가요 ㅋㅋ 테러보이님굿;;; 저도 저정도 길게 코딩해보고싶은데 제머리에서 도통 저렇게 긴문장까진 나오지않군요ㅠㅠ
필요없이 길어지는 현상은 확실히 문제가 있습니다.
"지금"소스도 줄인다면 줄일수 있는 여지가 충분하다고 봅니다 ㅎㅎ
좀더 노력해야지요 ㅠㅠ
기존소스에서


$admin_id = "kira"; // 관리자 아이디 지정

요걸 직접 입력하는 이유가 있나요?

$admin_id ="<?=$row[$cf_admin]?>" 요렇게 하면 안되나요....
같단 얘기가 아니라 그냥 무슨 소린지 모르겠단 말이에요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 영어인가, 아랍어인가... ㅋㅋ
발코딩이란 말과,
테러보이 아이디 이미지에 나오는 도그 이미지와
절묘하게 오버랩되네요.

테러도그가 컴ㅍ터앞에서 두발로 코딩하는 이미지...ㅎㅎ. 쏘리.
///////////////////////////////////////////////////////
//                      정보택                      //
///////////////////////////////////////////////////////
// (주) 인포큐브                                    //
// 제작 : 임동덕                                    //
// 연락처 : Tel: (062) 511-0380, Fax: (062) 511-0381 //
///////////////////////////////////////////////////////

이런부분 보면 왠지 예전에 pc통신 시절이 생각나요~
도스프로그램들도...
전체 196,470 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT