어떤 작업을 하는중이였는데, 40만 row가 들어있는 테이블을 MySQL로 지지고 볶고 있었습니다.

필요에 따라서는 테이블간 Join을 하였는데


주변 친한 형님이 왜 그렇게 하냐고 Merge를 하라고 하더군요..

찾아보니..MySQL에서는 동일한 기능이 ON DUPLICATE KEY UPDATE 이거였는데,,


결국에는 제가 하는 어떤 작업을 위해서는 Insert + Select + ON DUPLICATE KEY UPDATE 를 같이 써야 되는구조여서 한참 구글링을 하다가 옆나라 블로그에서 찾았네요 ..




INSERT INTO total (id,count) SELECT id, count 

     FROM (SELECT id, count FROM daily GROUPBYdate) t

ON DUPLICATE KEY UPDATE count = t.count


http://d.hatena.ne.jp/pullphone/20121203/1354502080



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

<head>

<meta http-equiv='refresh' content='0; url='http://www'>

</head>


또는

<body>

<script>
document.location.href='http://www';
</script>
 

</body>





저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License









update code set=current_n+1 where bank_code="CODENAME01";


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
SQL Statement Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 10 SKIP 20 $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));
DELETE FROM users WHERE z="abc" $db->users->remove(array("z" => "abc"));




출처 : http://www.php.net/manual/en/mongo.sqltomongo.php



몽고디비 써보겠다고 PHP에 코드이그나이트에 코드이크나이트 패치된 mongodb 라이브러리까지 해서 넣으나..


모델 뷰, 컨트롤 ;;; 코드이그나이드 날코딩을 막아준다고는 하는데.. 결국 이해못해서


PHP로 날코딩중...

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

https://developers.google.com/chart/image/docs/making_charts?hl=ko-KR



http://code.google.com/apis/ajax/playground/?type=visualization#simple_dashboard


왠지 모르게 재밌는걸 발견해 버렸다..꺅응응



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Study > HTML / PHP / DataBase' 카테고리의 다른 글

HTTP 리다이렉션  (0) 2013.01.22
mysql 필드 숫자 더하기  (0) 2012.07.30
몽고DB sql 매핑  (0) 2012.07.25
구글 차트  (4) 2012.07.23
자바스크립트 데모용 아이디 암호검사  (0) 2012.06.09
from table 사용시 레이아웃 깨질때  (0) 2012.06.09
Function split() is deprecatedなエラー  (0) 2011.10.11
  1. Favicon of http://navisphere.net BlogIcon 룬룬 2012.08.05 09:52 신고

    엇 테마가 바뀌었군요.
    처음에 제 사이트에서 사용하려고 구글 챠트를 찾아보았는데, 무슨 이유였는지 못 쓰고 Fusion Chart 라는걸로 하게 되었답니다. :)
    퓨전챠트도 개인에겐 무료이니 한번 구경해보세요~
    http://www.fusioncharts.com/download/sample-applications/

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2012.08.07 19:13 신고

      요즘에 약간 쫌 재밌는걸 하고 있어서요

      ㅋㅋㅋ 지금 오랜만에 PHP로 모좀 만드는데;; 결국에는 JSP로 포팅해야 될 상황이 생겼지만..

      잘하시는 분들 보면 PHP라이브러리로 막 그래프 그리시고 하더라고요 ;; 도저히 전 거기까지 안되서 딱보니; 구글쪽에서 API제공해서 사용하고 있네요

      다행이도 민감한 자료가 아니라 상관없지만.. 그것보다 구글 API 폼에 맞춰서 데이터를 가공해야한다는게 은근히 걸리적 거리네요 ㅋㅋㅋ


      한번 퓨전차트 사용해봐야겠어요 ;; 이번에 JSP 포팅할때 퓨전차트 사용해보고 좋으면 이거 써봐야겠어요 구글 API는 구글 서버 한번 거쳐서 만들어져서 그런지 며초정도 딜레이가 있는것 같네요

      더운데 건강조심하세요 ~

  2. Favicon of http://navisphere.net BlogIcon 룬룬 2012.08.07 20:57 신고

    건강까지 챙겨주시고 고맙습니다. :)
    다 만드시면 구경시켜주세요~

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2012.08.09 19:28 신고

      이미 다 완성은 되어있습니다 ㅎㅎㅎ

      그런데 공부 목적겸 여러여러 목적으로 만든거라

      나중에 한번 관련해서 포스팅이나 해봐야겠습니다 .



<script language="javascript" type="text/javascript">
    function CheckForm() {
       var uid = document.getElementById("formtext1");
        var pass = document.getElementById("formtext2");


        if (uid.value.match("student")) {
           
            if(pass.value.match("student")){
                return true; // submit 이벤트 실행
            }else{
       
            window.alert("아이디와 암호를 확인하세요.");
            uid.focus();
            uid.select();

            }

           
        }
        else {
            window.alert("아이디와 암호를 입력하세요.");
            uid.focus();
            uid.select();
            return false; // 멈춤
           
        }
         
    }
        </script>



<form form id="MyForm" action="student-index.html" method="post"  onsubmit="return CheckForm()">

여기는 추가할내뇽

</form>


과제를 제출하기 위해서 일종의 데모를 위해서 자바스크립트로 만든 아이디 암호검사


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

<style>
form { display : inline; }
</style>


저 같은 경우 포토샵을 웹페이지 만들어서 스플릿해서

그 안에 form 태그를 넣었는데


그림이 흐트러지더군요

그래서 테이블테그의 border값을 0으로 했는데 레이아웃이 깨져서

찾아보니


저걸 추가하시면 깨지는것을 방지하실수 있습니다.


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Eid Mubarak - عید فطر مبارک
Eid Mubarak - عید فطر مبارک by Hamed Saber 저작자 표시



출처  : http://blog.naver.com/PostView.nhn?blogId=jaigurudeva&logNo=10092322725

출처 : http://blog.naver.com/PostView.nhn?blogId=jaigurudeva&logNo=10092322725

Function split() is deprecated 해결법 보기

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

정말로 특이한 증상입니다.


제가 /etc/php.ini을 모르고 지워버리고서 httpd를 올리면 로그인이 잘되는데, /etc/php.ini을 살린상태에서 아파치를 올리면 로그인이 안되었거든요,,


그래서 만들어진 세션을 비교해보았습니다. 


cat sess_2cb264ebb45ab44367a8688d9e5c7f1b

session_userid|N;


들어있는 내용입니다. 원래 저자리에 ID가 있도록 해놨거든요.. 음 그러니까 이건 전문적인 페이지가 아니고, 

이냥저냥 만드느 php 페이지 입니다.


아 생각해보니 전역변수 관련이 묶여있더군요.

php.ini에서 직접 변경하니 반영이 안되는겁니다. php정책인가. 아예 안변하게 한게-_-


그래서 .htaccess에 플래그를 넣었습니다.

php_flag register_globals on
php_flag register_argc_argv on
php_flag register_long_arrays on

이렇게 해서 보안을 다 풀어버렸습니다. 물론 이렇게 하는게 정말 보안에는 안좋다고 합니다. 



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

구글신 만세!!


http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_install&wr_id=45411&sfl=&stx=&sst=wr_hit&sod=desc&sop=and&page=41


phpinfo() 함수로, php.ini가 어디있는지 확인하고

chmod 755 php.ini 

rpm 같은 패키지로 설치하셨다면 chmod 755 -R /etc/php.d



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Jessica
Jessica by 旅の達人黒沢オティス 저작자 표시비영리동일조건 변경허락

제 기억상으로는 php include("주소") 쓰면 그 웹페이지를 불러오는 기능이 있던것 같습니다 - 일단 제기억상으로는 그렇게 이용했던것 같고.. 예전에 제가 어떤 목적인지는 몰라도 아이프레임 안쓰려고 이거 쓴거 같거든요.

물론. 제가 PHP를 잘하는것도 아니고 깔짝 배운거라 ㅠㅠ 구글신께 물어볼것이 생겼습니다.
예를들어 이런거죠.

Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/www/jesica.php on line 3

Warning: include(http://www.daum.net) [function.include]: failed to open stream: no suitable wrapper could be found in /home/www/jesica.php on line 3

Warning: include() [function.include]: Failed opening 'http://www.jesica.co.kr' for inclusion (include_path='.:/usr/local/server/php/lib/php') in /home/www/jesica.php on line 3


모 예문을 들자면. 제가 제시카가 나오는 사진 페이지를 include로 불러오고 싶은데... 안불러 와지는겁니다. 이런식으로 오류를 내면서 ..순간 예전에 잘되던 기억이 났는데 왜 안될까.. 구글신께 또 문의를 드려봤습니다.

?
$a = file_get_contents("http://www.somedomain.com/file.php");
echo ($a);

?>


include로 안하고 file_get_contests로 하니까 되네요 ~ 또 다른 방법으로는

<?
require_once($_SERVER['DOCUMENT_ROOT'].'file.php');
?>


시스템 변수를 요구하지 않는 require_once를 사용하라는데 이건 제가 무슨말인지를 모르겠습니다;;

물론 제가 원문을 제대로 보았다면 - 저런 방법을 안사용하면 해커에 의해서 공격 소스가 첨부되어서 DDOS공격을 유발할수도 있다는것 같습니다 - 아 컴퓨터를 공부하기전에 먼저 영어를 공부하던지 해야지 ㅠㅠ

구글신의 도움으로 해결한 또다른 한편의 드라마 정도 되겠습니다...

만약 저의 난해한 글이 이상하시다면 , 위의 우월한 제시카를 보시면서 바다같은 마음으로 노여움을 풀어주세요..



출처 : http://blog.everymanhosting.com/php-coding/warning-include-functioninclude-url-file-access-is-disabled-in-the-server-configuration/comment-page-1/#comment-90

원문 보기


이글은 http://redeyesofangel.blogspot.com/2010/07/warning-include-functioninclude-url.html 으로 동시발행됩니다.
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://navisphere.net BlogIcon 룬룬 2010.07.27 17:14 신고

    말씀하신 include 함수 문제는 보안 문제가 맞습니다.
    자체 서버가 이난 원격 서버에 있는 파일을 불러오지 못하게 바뀌었지요.

    require_once는 require와는 달리 여러번 사용해도 파일을 단 한번만 삽입해준다는 점이 다른 점이랍니다. 정 안되면 소켓으로 HTTP통신을 직접 하시면 됩니다. :D

    원칙적으로 외부 서버에 있다면 file_get_contents를 쓰는 것이 맞겠네요.

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2010.07.28 17:49 신고

      좋은 지식 감사합니다~....


      요즘 어떤걸 보더라도 모르는것이 계속 나와서.. 계속 구글에 의존하고 있네요. :) 정보를 얻어도 그게 왜 중요한지를 알지 못하니.. :D

      즐거운 하루되세요~

아까전까지 진행하던 php 페이지가 있었는데 a


어떠한 이유인즉 - 취소가 되었습니다- ; 물론  만드는걸 제가 하고 있었지만..
약간 좋은공부했다고 생각해야 될것 같아요;; C++ 하고 자바하고 수학하고 영어나 봐야지



제가 느끼는건데.. 유독 IE에서만 테스트 해본 결과입니다만..

만약 form <type="text" 그리고 password size="10"으로 만들었습니다.
분명 같은 사이즈인데도 불구하고 제 눈에는 달라보인다 이것이였습니다. 그렇다고 그러니까 패스워드 쪽이 짧아보였습니다. 그래서 강제로 사이즈를 조정하면 어느정도 엇비슷하게 같아지더군요;

문제는 거기서 부터 시작이였습니다. 이와 같은 형상 비IE 크롬, 파이어폭스,사파리, 오페라에서는 잃어나지 않는것입니다. 그렇다고 국내페이지가 IE를 위해 대부분 만들어져서 무시할수도 없고, 그렇다고 웹표준을 준수하는 페이지를 만들겠다면서, 안할수도 없고



아. 그런데 약간 다른방식으로 생각하면
<input type="text" id="student_no" name="student_number" tabindex="1" accesskey="9" value="학번" onfocus="this.value='';" style="width:90%;" />

이런식으로 style로 지정하니, 제가 테스트한 모든 브라우져에서 정상적으로 보였습니다.
제 말은 즉슨, 스타일로, 크기를 지정하시는것도 괜찮을것 같습니다. 

일단 제가 저 소스를 분명히 만든것 맞는데.. 일단 책하고 웹을 참고해서 accesskey가 어떤건지를 모르겠어요ㅠㅠ

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://sageclarcer.textcube.com BlogIcon 세이지 2010.01.07 23:17 신고

    전 HTML 코딩할 때 모든 스타일 관련 속성은 style 속성에 넣습니다. 스타일 관련 속성은 대부분 웹 표준 규칙에 어긋나더군요. 그래서 style을 사용하는데, 역시 style이 더 좋습니다.

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2010.01.11 13:42 신고

      이번에 뼈저리게 느낀건..

      파이어폭스라는 브라우저를 사용하면서, 웹표준 웹표준이 좋다고 하면서-

      하지만 정작 왜 그런지를 몰랐던거였습니다. 쉽게 말해서 무지의 한탄이랄까..

      정작 제가 만든 페이지를 보니, 완전 웹표준 무시였다는...휴;; 한페이지 만드는데- 처음부터 다시 하려니까..ㅎㅎㅎ

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0




방금전에 세션 처리하다가 만난 문제,,, 입니다. php.ini 보면. register_globar인가 있는데. 이걸 OK 하던지. session.bug_compat_42 OFF 시키면 됩니다..

저같은경우는 전여변수에 의지 안해보려고 하기때문에(웹상에서 보안이 어떻고 하는둥;;; )session.bug_compat_42 OFF를 했습니다. 

++ 추가
세션을 생성하실때 세션_register 이거 쓰지 말고,
$_SESSION["sess_id"] = "$sess_id";

이런방식으로 하시면 , 위에것을 설정안하셔도 사용할수 있습니다,.
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
현재 페이지를 하나 만들고 있는데, 아이디 체크하는 부분을 만들고 있었습니다,. 

만약 존재하지 않는 아이디의 경우. 

    <script name="javascript">     
    window.alert("활성화 되지 않은 아이디 입니다."); history.go(-1);
   </script>
이런식으로 해서 돌려보냈는데;(활성화 되지 않았다는건,, 제 ,, 가 만들고 있는건 특성상)

그런데 정말 신기한건.일단 지금 완전이라기 보다는.. 웹표준 검사기를 통해서 웹표준에 위배되지 않게 만들고 있는데;.

참고로 인코딩 방식은 UTF-8로 해서, UTF-8로 파일을 만들어서 사용중이였는데

정말 신기한건 지금 제컴퓨터안에

사파리, 파이어폭스,크롬, 인터넷 익스플로러, 오페라가 설치되어 있었습니다.

아이디를 잘못쳤을때,
인터넷 익스플로러, 사파리, 오페라의 경우는 메세지가 깨지지 않고 나오는데
파이어폭스하고 크롬의 경우가 깨지더군요..

이렇게 소스를 고치시면, 5개 브라우저에서 안깨지고 잘나옵니다..
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> 
  <script name="javascript">     
    window.alert("활성화 되지 않은 아이디 입니다."); history.go(-1);
   </script>
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. BlogIcon 들개 2012.06.17 21:05 신고

    덕분에 해결하고 갑니다. 고맙습니다.

  2. 재인 2016.11.29 01:18 신고

    감사합니다
    웹은 되는데 모바일은 안되고 진짜 머리 아팠는데 해결 되었네요


by josef.stuefer 저작자 표시

그러니까, 몇일전부터 PHP 하고 몇개를 이용해서 리눅스에 Apache php mysql 올린다음에
모좀 만들고 있었습니다. 약간의 일거리는 아닌데..
정말로 신기한건, 저의 주 브라우저는 파이어폭스였고, 파이어폭스를 이용해서 웹을 돌아다닐때마다 들은것이 웹표준을 준수해야 한다는 것이 였습니다.


웹표준? ActiveX만 안쓰면 되는거 아닌가? 그런생각을 가지고 있었는데;;
아뿔사, 파이어폭스로 보니, 일단 제가 만든 웹페이지가 인터넷 익스플로어하고 약간 다르게 보이네요;;; 크게 깨지는건 아닌데...


약간 찾아보니,, 저 같은경우는 <? 로 시작해서 DTD들어가는거 다 무시하고, table로 레이아웃잡고, 거기에 include 시키는 방법을 사용했는데;;


웹에서 찾아본걸로는 그런것 같지는 않더군요....; 하핫 이것참...


공부할껀 산떠미구나..




저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
파라메터를 넘긴다고 해야하나요? 아직 용어의 정의가 잘안되서;;

php하고 한참 놀고 있었습니다...

막 post로 넘기는데,,  예를들어 go.php?gogo=고고

이런식으로 넘긴다고 가정하면, 다음페이지가서 알수 없는 글씨로 나오는겁니다.. 전페이지에서는 안그러는데

이걸 ANSI 등등 이걸 형식을 잘못지정했나 확인해보고 안되고-
이것참

몇일전에 공부한걸 다시 이용해봤어요;;

결론 이포스트의 주제는 함수소개.. 일단 php를 잘다루시는 분들은 이 포스팅은 전혀 필요없습니다.

일단 저도 못하고 , 이건 저처럼 혹시나 시행착오를 겪으실수 있는 약간의 분들을 위해 존재하는 페이지이거든요ㅗ

urlencode 하고, urldecode 이거 예요

A페이지에서

$X1 = urlencode($work_name);

이런식으로 해서 go.php?work=$X1 이런식으로 넘기는 거예요

그리고 다음페이지가서는

$work_name = urldecode($X1) 이겠지요..

echo"work_name"
아 그리고 저의 환경은 PHP.ini의 regist_globar인가 이거가 현재 ON되어 있는 상태입니다;;


약간의 과거의 글들
2009/05/20 - [Study/HTML / PHP / DataBase] - php , form input으로 배열 입력받아서 post로 넘기기.
2009/05/18 - [Study/HTML / PHP / DataBase] - PHP 배열 POST로 넘기기...


저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
엄밀히 말하면, php라고는 할수 없습니다..

완전 HTML 이죠,, 일단 이걸쓰는 이유는, php 문법이라든지 완전히 모르지만 무엇인가 만들어보는 분들이

만약 저와 같은 목적으로 무엇을 만들다가 막힐때 약간이나마 도움이 되실까 하고서 올리는 글입니다..

일단 관련글입니다.  이건 PHP 배열 넘기는 부분입니다.
2009/05/18 - [Study/HTML / PHP / DataBase] - PHP 배열 POST로 넘기기...

먼저 첫번째 페이지에서
<?
echo"
<form method=post action="go.php">
<input type=text name=array[]>
//처음에는 배열값을 입력 받을때  array[0], array[1], 이런식으로 지정해야 하는 줄 알았습니다. 그런데 그럴 필요가 없더라고요;; 그냥 이런식으로 입력하면됩니다.

추가추가추가..
sumit

</form>
?>

go.php

받을때는

echo"$array[0]" 이렇게 해당배열로 받으시면 됩니다..

이전글에서도 밝히지만 저의 php.ini의 register_globals = On 이건 이렇게 되어있습니다.

만약 이옵션이 안되어 있으시다면,, $array = $_POST["array[]"]; 대강 이런식으로 받아야 될꺼예요..





저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
javascript:history.go(-1)

저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
 
<?
    $example=array('하나','둘','셋');
   
    echo"$example[0] $example[1] $example[2]";
        
    $x1 = urlencode(serialize($example));
    echo"<br>$example";
    echo"<br>$x1";


    $x2 = unserialize(urldecode($x1));

    echo"<br>$x2";

    echo"$x2[0]";

?>

이걸 브라우저로 불러오면,,,

하나 둘 셋
Array
a%3A3%3A%7Bi%3A0%3Bs%3A4%3A%22%C7%CF%B3%AA%22%3Bi%3A1%3Bs%3A2%3A%22%B5%D1%22%3Bi%3A2%3Bs%3A2%3A%22%BC%C2%22%3B%7D
Array하나

나옵니다..


일단은 제가 배열을 막 만든다음, <form> 으로 해서 sumbit 시키니까 안넘어가더라고요;;

방법이 urlencode(serialize($example)); , unserialize(urldecode($x1)); 쓰면 되는거 였습니다;;

쓸려면 첫번째 페이지에서 .

$example=array['하나','둘',,,,,

urlencode(serialize($example));


그다음 form 으로 해서 action post로 넘기는 페이지에서는


$x2 = unserialize(urldecode($x1));

해서 불러스 $x2[0] 이런식으로 불러 쓰면 될것 같아요..

평소에는 구글신께서 도움을 주셨는데;

이번엔 네이버 신께서 도와주셨다는;; 아 그러고 보니. $_POST 이것이 필요하실수도 있어요;;

그런데 왜 저는 없냐하면,,

저는 php.ini 에서 globar 모였더라 지금 ON으로 바꿔서 사용하는 중이예요;;

만약 이것이 안되어 있으실 경우는 $_post 를 사용하셔야 될꺼예요..



저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
물론 영어페이지로 보면,, 영어공부 하는데 도움이 될지는 모르겠지만..

지금 PHP 깔짝 배운걸로 모 만들어보겠다고 만드는데

지금 배열을 post로 넘기는 부분에서 막혔다는..;;;

구글의 신께 도움을 청했찌만.. 무슨 말씀인지ㅠㅠ

그나마 다행인건,, 영문 메뉴얼 뒤적이다 한글메뉴얼 발견!!

http://docs.php.net/manual/kr/

저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2009.05.13 22:57 신고

    아, 이런 반이 영어네;...


asort();, rsort();

배열안에 있는 내용들을 정렬해야하는데,,,어떻게 하는지 몰라서 막생각하다가


결국 구글신께 도움을 청한 결과...


asort();, rsort();을 주셨으니..;;






저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
모라고 말하면 쉬울까요...? 몇개 찾아보고 알아낸건데요;;


예를들어 회원 정보 수정 페이지를 만든다고 가정할때, 만약 자신의 사진을 수정하려고 할때 입니다.

사진.jpg 가 넘어갑니다. 이걸 그냥 쿼리로 update해도 상관없지만..;

일단 제가 생각하기에, 만약 저 같은 사람들이 잇다면,,

예를들어 막 사진파일을 1 2 이렇게 올리거나 그럴경우, 다른사람과 중복되게 될 수도 있습니다.

그러면 어이없게 다른사람 사진이 바뀐다거나, 다른사람이 회원을 삭제했을때, unlink로 되어서 자신의 그림또한 날아갈수도 있는 상황이 벌어질수도 있을것 같습니다.

그래서 저는 그림.jpg가 있으면, ID는 고유하니까 ID+그림.jpg 를 , 데이터베이스안에 넣는겁니다.;

$id+$picfile_size 그냥 변수더하기 했는데- 이건 안먹히네요;; 전페이에서는 먹혔는데; 다른거였나-

암튼 하시는 방법은

        $a=$id;
        $a.="+";
        $a.=$picfile_name;
        echo"$a";
이런식으로 하니까. id+그림.jpg 뜨네요..

핵심은 $ 변수명 . << 요것이 핵심인듯 합니다.
저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
회원가입시,

만약 아이디가 6자리 이상을 쳐야지 가입받겠다. 할때 이걸 확인해야 하는데, 확인할수 있는 방법은, 서버가 받아서 확인해주면 좋겠지만, 가뜩이나 바쁜 서버이기 때문에, 자바스크립트를 써서, 애당초 받기 전분터 사용자에게 확인을 받게 할수 있습니다.


예를 들어

<form name=registet method=post action='next.php'>

<input type=text name=userid>

<input type=submit name=submit value='등록'>
</form>

--------------------------------------------------------------------------------------
<form name=registet method=post action='next.php' onSubmit ="return check_validation()">
-------------------------------------------------------------------------------------

자바스크립트를 사용하여,
<script language=javascript>
   function check_validation()
        {
            if(document.register.userid.value.length<1)
            {
                alert('아이디는 필수 항목입니다.');
                document.register.userid.focus();
                return false;
            }           
            else{ return true}

          }

</script>

자바스크립트를 이용하면, 좀더 다양한 문장을 만들면 될듯..;
      

저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
ob_start(); << 소스 맨 위에 넣음으로써 해결이 됩니다.

이 메시지는 header함수앞에 다른 출력들이 사용되었을때 사용되어지는 메세지라고 합니다.. 헤더함수 이건 또 모지-


지금 만들고 있는 소스에는 header함수가 없는데- 전부 쿼리문 보내는 PHP 페이지인데;;
저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
PHP이건 XML 이건.. 테이블 테그의 중요성이란??

저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
지금 ,, 제 상황을 해결한 한방법이 있는데,, 적당한 제목인지 모르겠습니다.


일단,, 이글은,,처음으로 PHP MYSQL을 이용해서 게시판을 만드시는 분들한테 잘하면 필요하실수도 있습니다.


일단 제가 게시판을 만들었어요;;

Write.php

여기서 내용을 <textarea></textarea>을 이용해서 Mysql에 집어넣는것까지 성공했습니다


이런
View.php

로 열어보니

안녕하세욤? 참쉽죠잉?? 이렇게 나오는겁니다..

저는 분명 입력할떄

안녕하세욤?
참쉽죠잉?

이렇게 입력했는데요


방법은 2가지 입니다(일단 제가 찾은거는.. replace나 그런것도 있따는데 잘모르겠어요;; 실패도 했고..)

처음 애당초 시작할때부터

<textarea><pre></pre></textarea>
이렇게 해버리는겁니다.. 이렇게 하면

이렇게 나와버립니다. 이때 <pre></pre>사이에 글짜를 입력하고 view.php로 불러오면 제대로 나오긴 합니다.. 만약  저 밖에 입력하면?? 안될껄요??안해봤어요;;

일단 <br>이 먹히게 했는데,, 상당히 난감합니다.. 게시판이 깨끗하지도 않고;;

그렇게 하다가 네이버 지식인 에서 .. nl2br 이걸 이용하면 제대로 나온다고 해서 했는데, 일단 저는 제대로는 나옵니다;;

저는 이렇게 적용했습니다..
$DATA = mysql_fetch_array($result);
$Contents = nl2br($DATA['board_contents']);
echo"contents"; 이렇게 하니까..;;





하하하하.. 이렇게 나오는겁니다1!!!!!!(후,, 이것떄문에 완전,,휴..)삭제는 구현했고,,

이제 수정을 만들어야 겠네요;; 저처럼  PHP 로 게시판 만드는 분들 화이팅!!:;!!


저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. 김민영 2009.06.12 12:47 신고

    좋아요
    좋아요
    정말로

  2. Favicon of http://www.interoasis.net BlogIcon interoasis 2011.07.15 15:36 신고

    아차!! PHP로 블로그를 만들고 있는데 포스팅 나오는부분엔 nl2Br을 적용해놓고 정작 리플부분엔 적용안하고서 왜안되지?하고 있었네요.-_-;; 포스팅하신뒤 시간이 꽤 지나셨으니 지금은 PHP 정말 잘 다루시겠네요.

    좋은포스팅 도움 많이 됐습니다. 감사합니다.

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2011.07.15 20:30 신고

      ㅎㅎㅎ 수업시간에 하고서 그 이후로 발전을 안시켜서 ㅠㅠ

      그냥 배운것만 할줄 알지 ㅠㅠ 새로운것 까지는 잘못하네요... ^^


      도움이 되셨다니 다행입니다.



현재 PHP, Mysql 쿠키 부분을 공부하고 있습니다..

일단,, 어떻게 설명을 해야할지 모르겠지만..

쿠키가 아주 잘만들어졌는지 확인 하는 방법을 찾게 되었습니다.. 의외로 간단했어요

주소 표시줄에  이렇게 입력하고 엔터를 누르면


팝업이 하나 뜨네요..;;



일단,, 제가 하는걸로는 쿠키는 컴퓨터가 잘 먹고 있나 봐요;;

쿠키가 그렇게 맛있나..?ㅋㅋㅋㅋㅋㅋㅋㅋ
저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

,,,,현재 데이터베이스프로그래밍을 공부하고 있습니다..(학교, 과목..)

저번주에 사정이 있어서 ,, 수업을 못들어가서 따라갈려고 혼자 공부하는데;;;

와,,update이거 ,,

일단,, 신지식에는 질문으로 신청했는데,,

일단 이건 제 현제 테이블 입니다.

---------------------

student_name | age

----------------------

  0                    | 25

----------------------


현재 student_name  은 char로 되어있습니다..


맨처음에 mysql  연습하느라고 컬럼명 바꾸는 연습을 하였습니다.. 중간에 student_name을 int로 바꿨는데-, 제가 그걸 생각안하고 char값을 넣어버렸습니다;;


그러고 했더니,,0 이떠버립니다;; ; 제가 int값으로 한걸 생각하고, char로 고쳤습니다.


인터넷을 찾아보니;


update를 이용하면 바꿀수 있다고 하여서 바꾸는중인데


'update first_tb1 set student_name='aaaaa' where age='25' 이렇게 해서 바꿨습니다.


그런데 만약 age값이 25이 한개가 아니고 2개일경우는 어떻게 바뀌는거지요??


---------------------

student_name | age

----------------------

  aaaaa            | 25

----------------------

  bbbbb            | 25

----------------------


이럴경우에는 bbbbb를 검색해서 하면되지만.


---------------------

student_name | age

----------------------

  aaaaa            | 25

----------------------

  aaaaa           | 25

----------------------

이럴경우 입니다.


이거 해야할것은 점점 많아지는데,, 이거에 시간을 너무 많이 빼앗기고 있다는.. 휴.. 이래서 하고싶은걸 할수 있으려나..



저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Favicon of http://dejavus.tistory.com BlogIcon dejavus 2009.03.19 21:18 신고

    마지막 경우에는 두개가 전부 바뀌게 됩니다 ^^
    두개를 구분해야 하는 경우가 생길텐데 사실
    마지막 테이블 key가 될만한게 없기 때문에 애초에 저렇게 만들면 안됩니다 ㅋ
    normalization, 정규화라고 하나요 ㅡㅡa
    지금은 햇갈리시겠지만 뭐 쫌 써보면 쉬워진다는...

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2009.03.20 21:15 신고

      아무래도,,만들대,, 저긋들을 구분해줄수 있는걸 같이 만들어야 될것 같아요,

      예를 들면,, 순서대로 번호를 넣거나 그런 방법으로요,,
      !!

  2. Favicon of http://goodfeel.pe.kr BlogIcon 2009.03.23 11:14 신고

    여러가지 실수를 한꺼번에 하신거 같은데... 일단 테이블을 처음 만들었을 때 부터가 문제였던 것 같네요.
    테이블에 pk(primary key)가 없습니다. 이름,나이 컬럼 가지고는 row를 유일하게 식별할 수 있는 방법이 없으니까요. 쉽게 설명하자면, 이름이 같거나 나이가 같은 사람이 존재할 수 있다는 것이지요.
    그러니까 EizT님 말대로 임의의 번호를 부여하던가 학번, 주민번호 같이 중복되지 않는 값을 갖는 컬럼이 필요합니다. dejavus님 말데로 정규화에 대한 공부를 하시면 더 잘 아시겠지만.. 일단 배우는 과정이신거 같으니 다른건 몰라도 일단 테이블 만들면 꼭 pk는 하나 잡아두세요. 일반적으로는 id라는 이름에 int type으로 auto-increse 옵션을 선택해 pk로 사용합니다.
    뭐 연습하시는 과정이었으니.. 이름을 pk로 설정했었다면 update ... where age=25라는 쿼리가 동작하지 않아 문제가 생기지 않았을겁니다. pk는 중복을 허용하지 않으니까요. 하지만 key설정이 되지 않아 이미 update가 되어버렸다면 별 방법이 없죠. ^^;; 눈으로 보고 수정하시던가 해야 할 듯..

    • Favicon of http://redeyesofangel.tistory.com BlogIcon Yuika eizt 2009.03.23 19:07 신고

      좋은 조언 감사합니다..


      정말 열심히 해야될것 같아요,,, 문뜩 생각난건데,,,

      포탈이라던지 ,, 여러 싸이트 가입할때 주민등록번호가 왜 필요할지 이제 알것 같아요.;; 개인정보를 어디에 쓰든 말든 그런 내용을 빼면, 나중에 아이디라던지 패스워드 찾을때 더 유용할수 있다 이뜻이겠죠.??

      왠지 모르게 열심히 해야될것 같아요, 좋은 지적 감사합니다.

▒▒▒ MYSQL 기본명령어 - 여러가지명령어 ▒▒▒

테이블구조를 정해놓고 설명하겠습니다.
-- 테이블 NAME : TEST --
---------------------------------------------
필드이름   |   타입
---------------------------------------------
id            |    int(11) auto_increment not null
name       |   varchar(10)
email       |   varchar(30)
---------------------------------------------


▒▒ INSERT : 레코드를 삽입하는 명령어입니다.
ex) insert into test values (' ','송윤경','leopit@korea.com');
ex) insert into test id,name values(' ','송윤경');

▒▒ UPDATE : 데이터를 업데이트합니다.
ex) update test set name='홍지현' where id=1;
ex) update test set name='홍지현' where name='송윤경';

▒▒ DELETE : 레코드를 삭제합니다.
ex) delete from test where id=1;
ex) delete from test where name='송윤경';

▒▒ DROP : 테이블을 삭제합니다.
ex) drop table test;

▒▒ ALTER : 각종정보를 수정합니다.
-- 테이블이름 수정 --
ex) alter table test rename test1; 
ex) rename table test to test1;  
// test 란 테이블 이름을 test1 으로 바꿉니다.

-- 필드추가 --
ex) alter table test add content text  // content 란 필드를 추가합니다.

-- 필드삭제 --
ex) alter table test drop content   // content 필드를 삭제합니다.

-- 필드이름 수정 --
ex) alter table test change name myname   // name 필드를 myname으로 수정합니다.

-- 필드타입 수정 --
ex) alter table test modify name varchar(30)   // name 필드를 타입을 varchar(30)으로 바꿉니다. 


출처 : http://leopit.com
저작자 표시 비영리
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
1

+ Recent posts

티스토리 툴바