mysql 으로 가져온 데이타가 많을때 페이지 버튼 만들기

프로그래밍/PHP|2015. 1. 27. 11:43
반응형

php 를 잘하지 못하여 아래와 같이 코딩하였습니다.

초보분도 보시고 참고용으로만 활용하세요.


<table width="1100" height="50" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td align="center" valign="middle">


<?

if(!$page) { $page="1"; }    // 페이지 값이 없을경우 기본 1페이지로 설정


$size="20";    // 한 페이지에 출력될 레코드수


$query = "select count(*) as count from sysdocu_users";    // 총갯수 구하기

$result = mysql_query($query,$connect);

if ($result) {

while ($newArray = mysql_fetch_array($result,MYSQL_ASSOC)) {

      $count = $newArray['count'];

}

}


$total_page=$count/$size;    // 총 페이지 구하기

$total_page=ceil($total_page);    // 레코드가 1개라도 더 남았을 경우 페이지가 새로 생기기 때문에 소수점 이하는 올립니다.

$page_chai=$total_page-$page; // 아레 페이지 번호 정렬시 사용


$page_view=($page-1)*$size;    // 2페이지 클릭시 (2-1)*20 이 되므로 20 이라는 값이 입력 / 기본 1page 일 경우의 값은 0 이 됩니다.


$query="select name from sysdocu_users order by name limit $page_view, $size";    // $page_view 부터 $size 개 출력

$result = mysql_query($query,$connect);

if ($result) {

while ($newArray = mysql_fetch_array($result,MYSQL_ASSOC)) {

      $name = $newArray['name'];

      echo "$name<br>";

}

}


echo "<br>";


// 하단 페이지 번호를 가운데로 정렬하기 위해서 처음과 끝을 적용

if ($page<6) {    // 선택 페이지가 5 이하일 경우 1부터 고정

$start=1;

$end=10;

}

elseif ($page_chai<5) {    // 선택 페이지가 뒤로 5 페이지밖에 남지 않았을 경우 마지막 페이지 고정

$start=$total_page-10;

$end=$total_page;

}

else {

$start=$page-5;

$end=$page+5;

}



if ($total_page<10) {    // 페이지가 10개 이하일 경우 버튼 갯수도 페이지만큼 줄입니다.

$end="$total_page";

}


$move=$page-1;    // 화살표를 클릭하면 현재 페이지에서 -1 페이지로 이동. 5 페이지 미만의 위치에서는 버튼 숨김

if ($page=="1") { } else { echo "<a href='$PHP_SELP?page=$move'>◀</a>&nbsp;"; }


for($i=$start;$i<=$end;$i++){

echo "<a href='$PHP_SELP?page=$i'>";    // 선택한 페이지는 굵게

if ($page==$i) { echo"<b>[$i]</b>"; }

else { echo "[$i]"; }

echo "</a>&nbsp;";

}


$move=$page+1;    // 화살표를 클릭하면 현재 페이지에서 +1 페이지로 이동. 5 페이지 남은 위치에서는 버튼 숨김

if ($page=="$total_page") { } else { echo "<a href='$PHP_SELP?page=$move'>▶</a>"; }

?>


    </td>

  </tr>

</table> 


반응형

댓글()

PHP 함수 : 내림/올림/반올림

프로그래밍/PHP|2015. 1. 27. 11:42
반응형

1. ceil() - 무조건 올림

$abc = 5.1;
$result = ceil($abc);
echo $result;
**************** 출력 ***************
6


2. floor() - 무조건 내림

$abc = 5.9;
$result = floor($abc);
echo $result;
**************** 출력 ***************
5

3. round() - 반올림

$abc = 5.6;
$result = round($abc);
echo $result;
**************** 출력 ***************
6

$abc = 5.4;
$result = round($abc);
echo $result;
**************** 출력 ***************
5

[출처] APM/Linux (http://apms.tistory.com/4)



반응형

댓글()

대소문자 변환 함수

프로그래밍/PHP|2015. 1. 27. 11:42
반응형

<?php

$strtoupper = strtoupper("The String"); // 문자열을 대문자로 바꿔줍니다.

$strtolower = strtolower("The String"); // 문자열을 소문자로 바꿔줍니다.

$ucfirst = ucfirst("The String"); // 첫번째 문자만 대문자로 바꿔줍니다.

$ucwords = ucwords("the example string"); // 각 단어의 첫번째 문자를 대문자로 바꿔줍니다.


echo $strtoupper."<br>";

echo $strtolower."<br>";

echo $ucfirst."<br>";

echo $ucwords."<br>";

?>



출력 결과:

THE STRING

the string

The string

The Example String


[출처] 퍼니XE (http://funnyxe.com/webDevTip/17622)

반응형

댓글()

[html] 예, 아니오를 묻는 confirm 창 띄우기

프로그래밍/PHP|2015. 1. 27. 11:42
반응형
<script>
  function answer() {
  if(confirm('당신은 차가 있습니까?'))
    {
    alert('멀리 여행을 떠나보아요!');
    }
  else
    {
    alert('낭만의 기차여행은 어때요?');
    }
  }
</script>

위와 같이 미리 정의하고 body 내용중에 아래와 같이 호출해서 사용하면 됩니다.

<script language='javascript'>
    answer();
</script>


반응형

댓글()

[php] 원격에서 특정포트 오픈 여부 확인하기

프로그래밍/PHP|2015. 1. 27. 11:41
반응형
아래 파일을 이용하여 별도의 서버에서 원격의 서버 포트를 체크할 수 있습니다.
아래 server, port 변수 값을 수정하여 이용할 수 있습니다.

<?

$server="sysdocu.tistory.com";

$port="80";

$fp=@fsockopen($server,$port,$errno,$errstr,15);


  if ($fp) {

  echo "<font size=2>$server 의 $port 번 포트가 정상 연결 되었습니다.</font>";

  fclose($fp);

  }


  else {

  echo "<font size=2>$server 의 $port 번 포트 연결이 실패되었습니다.</font>";

  fclose ($fp);

  }

?> 



반응형

댓글()

[php] ftp 서버로 파일 전송시 0 byte의 파일명만 생성이 될 경우

프로그래밍/PHP|2015. 1. 27. 11:41
반응형
Warning: ftp_fput() [function.ftp-fput]: Ok to send data

이와 같은 에러메세지가 출력되며 ftp 서버로 파일 전송시 0 byte의 파일명만 생성이 될 경우
ftp 서버가 패시브 모드로 설정되어있는지 확인해보아야 합니다.

소스의 호스트 접속하는 부분 바로 아래 패시브 모드로 접속하게끔 설정해주면 됩니다.

// 호스트 접속
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// 패시브 모드 이용

ftp_pasv($conn_id, true); 



반응형

댓글()

[html] 테이블 테두리 얇게하기

반응형
<table width="100" height="50" border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse; border:1px gray solid;">
  <tr>
    <td>내용</td>
  </tr>
</table>
 

 

반응형

댓글()

간단한 메일 발송 소스

프로그래밍/PHP|2015. 1. 27. 11:41
반응형
아래 내용으로 파일을 만들어 놓고 웹브라우저에서 접속만 하면 메일이 발송됩니다.


<?
$user_name="USER"; // 보내는 사람 이름(닉네임)
$user_mail="test@sysdocu.com"; // 보내는 사람 메일주소
$tomail ="test2@sysdocu.com"; // 받는 사람 메일주소
 
$subject = "테스트 메일"; // 메일 제목
$memo="이 메일은 테스트 메일입니다.<br>한글이 잘 보입니까?"; // 메일 내용
 
function msg($text){
 echo "
  <script language=javascript>
  window.alert('$text')
   opener.location.reload();
  self.close();
  </script>
 ";
 exit;
}
 
$mailheaders = "Return-Path: $user_email rn"; // 메일 헤더의 반송 메일 주소
$mailheaders.= "Content-Type: text/html; charset=euc-kr rn";
$mailheaders .= "From: $user_name <$user_mail>rn"; // 메일헤더의 이름과 메일 주소 표시
 
$result=mail($tomail, $subject, $memo, $mailheaders); // 메일 전송
 
if($result) { msg('메일이 발송되었습니다!!'); }
?>
 


반응형

댓글()

[PHP] 특정문자로 자르기 (나누기)

프로그래밍/PHP|2015. 1. 27. 11:40
반응형

전화번호를 나눌때 아래와 같이 사용합니다.

- 로 구분된 메모 no를 나눕니다. "$nos[0]=첫번째 no값, $nos[1]=두번째 no값" 가 입력됩니다.

$nos=explode("-", $nono);


예) 여러 도메인을 깔끔하게 나누기

[입력]

아래와 같이 엉터리로 데이타를 삽입해도 깔끔하게 정리하여 출력 할 수 있습니다.

001.co.kr,,,    002.com,



   003.net 

변수명 : $domain_multi


[소스]

$domain_multi = strtolower("$domain_multi");    // 소문자로 변환

$domain_multi = preg_replace("/,/"," ", $domain_multi);    // 콤마를 공백으로 변환

$domain_multi = preg_replace("/[\\f\\n\\r\\t\\v]/", " ", $domain_multi);    // 엔터나 그밖의 부호는 공백으로 변경

while(preg_match('/  /',$domain_multi)) {    // 공백이 두개 붙은게 있다면 아래와 같이 모두 사라질때까지 공백 한개로 변경

    $domain_multi = preg_replace("/  /"," ", $domain_multi);

    }

$temp = explode(" ", $domain_multi);    // 공백으로 나눔. $temp[0] 첫번째값, $temp[1] 두번째값..

for ($i=0;$i<sizeof($temp);$i++) {    // 배열에 넣은값 출력하기

echo $temp[$i]."<br>";

} 


[결과]

001.co.kr

002.com

003.net 


* 참고

아래 split 는 정규표현식이 가능합니다. (PHP 5.3부터 배제 됨)

예제는 공백으로 구분하였습니다.

$nos=split(" ", $domain_multi);


반응형

댓글()

[html] 이미지와 텍스트 높이 맞추기 (이미지 높이 지정)

반응형

이미지와 문자의 높이를 맞춰주는 옵션입니다.

 

<img src="/images/sysdocu.png" align="absmiddle"> 내용


그래도 높이가 안맞을 경우 아래와 같이 이미지 하단 여백을 주어 맞출 수 있습니다.


<img src="/images/sysdocu.png" align="absmiddle" style="margin-bottom:8px"> 내용

반응형

댓글()

[ASP] 전화번호에서 하이픈(-) 제거

프로그래밍/PHP|2015. 1. 27. 11:40
반응형

MSSQL DB의 Mem_Mobile 필드에서 select 로 가져온 전화번호에서 하이픈(-)을 빼고 data 변수에 입력하는 예제입니다.

 

data = replace(rs("Mem_Mobile"),"-","")

 

반응형

'프로그래밍 > PHP' 카테고리의 다른 글

간단한 메일 발송 소스  (0) 2015.01.27
[PHP] 특정문자로 자르기 (나누기)  (0) 2015.01.27
[ASP] 썸네일 제작 컴포넌트  (0) 2015.01.27
[JSP] Hello, JSP!!! 출력 소스  (0) 2015.01.27
한글 문자열 자르기  (0) 2015.01.27

댓글()