팁중에 팁 (?) 정보
팁중에 팁 (?)본문
<form name="form1">
<p><select name="formselect1" size="1">
<option value="연습">연습</option>
<option value="책상">책상</option>
<option value="열필">연필</option>
</select></p>
</form>
////////////////////////////////////////////////////
DB를 이용한 응용 1단계
<select name='wr_3' size="1">
<?php
$cat_array=gball($mta='w_num',$mid='w_num_id',$mname='w_num_name');
foreach ($cat_array as $row)
{?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
?>
</select>
function gball($mta,$mid,$mname)
{
// 테이터베이스에 원하는 숫자를 불러온다
$conn = db_connect();
$query = "select $mid,$mname from $mta";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
//////////////////////////////////////////////
응용 2단계
<select name='m_gra'>
<?php
$cat_array=groub01();
foreach ($cat_array as $row)
{
echo '<option value="';
echo $row['m_gra'];
echo '"';
if($row['m_gra'] == $data[$m_gra])
echo 'selected';
echo '>';
echo $row['m_ta_gruaname'];
echo "\n";
}
?>
</select>
function groub01()
{
// 데이터베이스에 저장된 카테고리에는 어떤 것이 있는지
// 카테고리의 이름과 catid를 가져온다.
$conn = db_connect();
$query = 'select m_gra, m_ta_gruaname
from m_taa';
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
///////////////////////////////////////////////////
응용3단계.....
<select name='wr_6' size="1">
<?php
$cat_array=groub_ball($mta='w_num',$mname='w_num_name02');
foreach ($cat_array as $row){?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
?>
</select>
function groub_ball($mta,$mname)
{
// 테이터베이스에 원하는 숫자를 불러온다
$conn = db_connect();
$query = "select $mname from $mta group by $mname";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
// 이상입니다.
//////////////////////////////////////////////////////////
<p><select name="formselect1" size="1">
<option value="연습">연습</option>
<option value="책상">책상</option>
<option value="열필">연필</option>
</select></p>
</form>
////////////////////////////////////////////////////
DB를 이용한 응용 1단계
<select name='wr_3' size="1">
<?php
$cat_array=gball($mta='w_num',$mid='w_num_id',$mname='w_num_name');
foreach ($cat_array as $row)
{?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
?>
</select>
function gball($mta,$mid,$mname)
{
// 테이터베이스에 원하는 숫자를 불러온다
$conn = db_connect();
$query = "select $mid,$mname from $mta";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
//////////////////////////////////////////////
응용 2단계
<select name='m_gra'>
<?php
$cat_array=groub01();
foreach ($cat_array as $row)
{
echo '<option value="';
echo $row['m_gra'];
echo '"';
if($row['m_gra'] == $data[$m_gra])
echo 'selected';
echo '>';
echo $row['m_ta_gruaname'];
echo "\n";
}
?>
</select>
function groub01()
{
// 데이터베이스에 저장된 카테고리에는 어떤 것이 있는지
// 카테고리의 이름과 catid를 가져온다.
$conn = db_connect();
$query = 'select m_gra, m_ta_gruaname
from m_taa';
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
///////////////////////////////////////////////////
응용3단계.....
<select name='wr_6' size="1">
<?php
$cat_array=groub_ball($mta='w_num',$mname='w_num_name02');
foreach ($cat_array as $row){?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
?>
</select>
function groub_ball($mta,$mname)
{
// 테이터베이스에 원하는 숫자를 불러온다
$conn = db_connect();
$query = "select $mname from $mta group by $mname";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
// 이상입니다.
//////////////////////////////////////////////////////////
추천
1
1
댓글 19개
3단계만 설명합니다. : 어떤 디비에 특정적(공통적)인 용어를 불러와서 셀렉트화 합니다.
이게 필요한 이유요.? 무지 많습니다. 끝.
이게 필요한 이유요.? 무지 많습니다. 끝.

^^ 너무 너무 감사합니다.
아직 잘 이해는 잘 않되지만 노력하겠습니다.
대한민국 만세 !!!
아직 잘 이해는 잘 않되지만 노력하겠습니다.
대한민국 만세 !!!
설명이 부족하여서 추가 설명올리겠습니다.
http://pkgtest.mireene.com/bbs/write.php?bo_table=move
위에 올립팁을 상기에 샘풀로 제작한것입니다.. 이하 설명입니다.
<select name='wr_6' size="1">
<?php
$cat_array=groub_ball($mta='w_num',$mname='w_num_name02');
foreach ($cat_array as $row){?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
?>
</select>
wrtite.skin.php 화일에 보시면 위에부분이 있습니다.
$mta 는 테이블명, $mname 은 해당테이블에 한 콜롬(필드라고 하나 레코드라고 하나 헷갈리내요)입니다.
즉, 한 db에 있는 어떤 콜롬의 자료를 불러와서 뿌려주는 기능을 합니다. 이는 대용량의 자료를
<form name="form1">
<p><select name="formselect1" size="1">
<option value="연습">연습</option>
<option value="책상">책상</option>
<option value="열필">연필</option>
</select></p>
</form>
이런개 700개... 연습,책상,연필...... 일일이 작성할수는 없겠죠.?
그러기 위해서는 db를 사용해야되는 상항이 발생합니다. 목록에 수정 삭제....등등이 발생했을경우...
http://pkgtest.mireene.com/bbs/write.php?bo_table=move
위에 올립팁을 상기에 샘풀로 제작한것입니다.. 이하 설명입니다.
<select name='wr_6' size="1">
<?php
$cat_array=groub_ball($mta='w_num',$mname='w_num_name02');
foreach ($cat_array as $row){?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
?>
</select>
wrtite.skin.php 화일에 보시면 위에부분이 있습니다.
$mta 는 테이블명, $mname 은 해당테이블에 한 콜롬(필드라고 하나 레코드라고 하나 헷갈리내요)입니다.
즉, 한 db에 있는 어떤 콜롬의 자료를 불러와서 뿌려주는 기능을 합니다. 이는 대용량의 자료를
<form name="form1">
<p><select name="formselect1" size="1">
<option value="연습">연습</option>
<option value="책상">책상</option>
<option value="열필">연필</option>
</select></p>
</form>
이런개 700개... 연습,책상,연필...... 일일이 작성할수는 없겠죠.?
그러기 위해서는 db를 사용해야되는 상항이 발생합니다. 목록에 수정 삭제....등등이 발생했을경우...
그럼 1콜롬만 700개 (연습,책상,연필.......700 개째) 를 db 설계합니다.
테이블명: test. 1차콜롬: test_id 2차콜롬: test_id_name (게시판이라고 생각하시면 됩니다.)
방금만든 db를 insert할때 db접속해서 일일이 입력하는게 무의미하겠죠.? 그래서 관리자화면서 간단 게시판을 만듭니다.(게시판만드는건 생략입니다.)
직접 만들어 보세요....... 시간오래 걸리죠.?
그래서 이걸 만든겁니다.... 소스에 대한 판매,응용....등등등...마음대로 하세요.
http://pkgtest.mireene.com/bbs/board.php?bo_table=qa
테이블명: test. 1차콜롬: test_id 2차콜롬: test_id_name (게시판이라고 생각하시면 됩니다.)
방금만든 db를 insert할때 db접속해서 일일이 입력하는게 무의미하겠죠.? 그래서 관리자화면서 간단 게시판을 만듭니다.(게시판만드는건 생략입니다.)
직접 만들어 보세요....... 시간오래 걸리죠.?
그래서 이걸 만든겁니다.... 소스에 대한 판매,응용....등등등...마음대로 하세요.
http://pkgtest.mireene.com/bbs/board.php?bo_table=qa
간단 게시판을 만들었다는 가정하에 설명드리겠습니다.
write.skin.php 에 간단게시판 자료를 뿌려주어야 겠죠.?
방법은 2가지입니다..
간단게시판의 1차콜롬(고유번호)을 멀티테이블에 올리는경우와 2차콜롬을 직접올리는경우입니다.
근데 2차콜롬을 올릴경우 문제발생합니다. (문제발생이유는 설명생략)
결국 멀티테이블에 test테이블의 고유값을 보냅니다.. 대신 write.skin.php 에서 작성시 숫자로 보이면 작성자가 알수 없음으로 이름이 나오도록 합니다.
write.skin.php 에 간단게시판 자료를 뿌려주어야 겠죠.?
방법은 2가지입니다..
간단게시판의 1차콜롬(고유번호)을 멀티테이블에 올리는경우와 2차콜롬을 직접올리는경우입니다.
근데 2차콜롬을 올릴경우 문제발생합니다. (문제발생이유는 설명생략)
결국 멀티테이블에 test테이블의 고유값을 보냅니다.. 대신 write.skin.php 에서 작성시 숫자로 보이면 작성자가 알수 없음으로 이름이 나오도록 합니다.
그럼 멀티테이블 콜롬(약속한 콜롬에) 숫자를 넣어놓았다는 가정을 하겠습니다.
list.skin.php 또는 view.skin.php 에서 약속한 콜롬을 불러와야 합니다.
당연히 db table(멀티테이블)에는 숫자만 입력했으니........
숫자를 한글로 전환하는 어떤(?)기능이 필요합니다.
<?
$cat_array=listall($mta='m_zg',$mid='m_zg',$mname='m_zg_name',$m_all = $data[$wwd]);
foreach ($cat_array as $row)
{?><?=$row[$mname]?><?}
?>
function listall($mta,$mid,$mname,$m_all)
{
// 테이터베이스에서 숫자를 글자로 전환한다
// 카테고리의 이름과 catid를 가져온다.
$conn = db_connect();
$query = "select $mid,$mname from $mta where $mid = '$m_all'";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
이겁니다..
list.skin.php 또는 view.skin.php 에서 약속한 콜롬을 불러와야 합니다.
당연히 db table(멀티테이블)에는 숫자만 입력했으니........
숫자를 한글로 전환하는 어떤(?)기능이 필요합니다.
<?
$cat_array=listall($mta='m_zg',$mid='m_zg',$mname='m_zg_name',$m_all = $data[$wwd]);
foreach ($cat_array as $row)
{?><?=$row[$mname]?><?}
?>
function listall($mta,$mid,$mname,$m_all)
{
// 테이터베이스에서 숫자를 글자로 전환한다
// 카테고리의 이름과 catid를 가져온다.
$conn = db_connect();
$query = "select $mid,$mname from $mta where $mid = '$m_all'";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
이겁니다..
상세한 강좌 감사합니다.^^
갈무리해두었다가 공부할때 참고하겠습니다.
갈무리해두었다가 공부할때 참고하겠습니다.
고맙습니다... 어떤분이 넘 냉정하다고 하셔서.. 밥먹고 올렸습니다.
한글 --->(숫자)---> table---->숫자--->한글
그럼 긍금하실겁니다. 이리 복잡하게 구상하면... 속도 느려진다고...
절대 그렇지 않습니다. 컴퓨터는 한글보다 숫자를 좋아합니다.(단순한걸 무지 좋아합니다.)
넘 마니쓰면 쪼~~금 db 스트래스 받습니다.
단점은 생략하고 장점만 설명하겠습니다.
1. 대용량 data를 입력할경우.
2. 관리자 화면에서 일반 유저폼을 수정할경우
- 예를 들어서 어떠한 상품이 브랜드가 변경되었을경우.....공급업체가 변경되었을경우...등등.
3. 분류 카테고리를 자동으로 생성시키고 싶은경우...
4. 사람들이 가장 많이 검색하고 싶은 키워드를 유저화면에 나오게 하고싶을경우.
5. 유사한상품(추천상품, 히트상품, 유사상품) 등을 뿌려주어야 할경우...등등.
장황하죠.? 이것이 가능한 스킬이 위에 팁중에 팁입니다.
위에 설명에서 생략한 부분이 많긴 합니다만... 어쩌겠습니까.. 저도 공부하고 모르시는분도 공부하셔야죠.. 우리말이 아닌걸...m,,m
ps- db도 이제 한글로 만드는 세상 만듭시다.
밥먹고 힘내서 db관심있으시분을 위해서 담배피고 위에글 수정 또는 부연설명올리겠습니다.
그럼 긍금하실겁니다. 이리 복잡하게 구상하면... 속도 느려진다고...
절대 그렇지 않습니다. 컴퓨터는 한글보다 숫자를 좋아합니다.(단순한걸 무지 좋아합니다.)
넘 마니쓰면 쪼~~금 db 스트래스 받습니다.
단점은 생략하고 장점만 설명하겠습니다.
1. 대용량 data를 입력할경우.
2. 관리자 화면에서 일반 유저폼을 수정할경우
- 예를 들어서 어떠한 상품이 브랜드가 변경되었을경우.....공급업체가 변경되었을경우...등등.
3. 분류 카테고리를 자동으로 생성시키고 싶은경우...
4. 사람들이 가장 많이 검색하고 싶은 키워드를 유저화면에 나오게 하고싶을경우.
5. 유사한상품(추천상품, 히트상품, 유사상품) 등을 뿌려주어야 할경우...등등.
장황하죠.? 이것이 가능한 스킬이 위에 팁중에 팁입니다.
위에 설명에서 생략한 부분이 많긴 합니다만... 어쩌겠습니까.. 저도 공부하고 모르시는분도 공부하셔야죠.. 우리말이 아닌걸...m,,m
ps- db도 이제 한글로 만드는 세상 만듭시다.
밥먹고 힘내서 db관심있으시분을 위해서 담배피고 위에글 수정 또는 부연설명올리겠습니다.
여기까지 이해하셨다는 가정하에 .. 발생되는 에러문제의 해결점 (상기소스는 그냥 에러가 발생하도록 나든상태입니다. 에러가 몬지 보려고요..)
보조테이블(기초테이블)인 test테이블에 일부를 삭제했을경우 list.skin.php...view.skin.php에서는 에러멧세지를 보냅니다.. 일부....foreach..~~~ no data file..등등.
소스 잘못 했다고 모라구러지 마세요...이유가 있습니다.
컴퓨터가 해당테이블에 고유값이 없다고 에러멧세지 보내면서 화면을 엉망으로 만듭니다.
당연히 기초테이블에서 자료가 없는데 컴퓨터가 숫자를 한글로 전환할수 없겠죠./??
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
여기를 수정해서 그 에러멧세지를 감추면 됩니다.(배포한 소스에는 그냥 나오도록 했습니다. 계속 수정보완을 위해서 그냥 나두었습니다.
function db_array($result)
{
$res_array = array();
// 이부분입니다.
if(!res_array)
{
echo '자료삭재';
break; // 맞나...m,,m
}
else
{
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
}
맞는지 모르겠네요...에러 발생할 경우는 이 한가지 뿐입니다.
참고로 db에 넣고 빼는걸 잘합니다.
그럼 이미 아신분은 잘못된 부분에 조언 또는 부연설명 부탁하고.. 설명이 미진하다고 하는부분에 댓글을 다시면 추가 부연설명 올리겠습니다.(아는 범위에서)
보조테이블(기초테이블)인 test테이블에 일부를 삭제했을경우 list.skin.php...view.skin.php에서는 에러멧세지를 보냅니다.. 일부....foreach..~~~ no data file..등등.
소스 잘못 했다고 모라구러지 마세요...이유가 있습니다.
컴퓨터가 해당테이블에 고유값이 없다고 에러멧세지 보내면서 화면을 엉망으로 만듭니다.
당연히 기초테이블에서 자료가 없는데 컴퓨터가 숫자를 한글로 전환할수 없겠죠./??
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
여기를 수정해서 그 에러멧세지를 감추면 됩니다.(배포한 소스에는 그냥 나오도록 했습니다. 계속 수정보완을 위해서 그냥 나두었습니다.
function db_array($result)
{
$res_array = array();
// 이부분입니다.
if(!res_array)
{
echo '자료삭재';
break; // 맞나...m,,m
}
else
{
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
}
맞는지 모르겠네요...에러 발생할 경우는 이 한가지 뿐입니다.
참고로 db에 넣고 빼는걸 잘합니다.
그럼 이미 아신분은 잘못된 부분에 조언 또는 부연설명 부탁하고.. 설명이 미진하다고 하는부분에 댓글을 다시면 추가 부연설명 올리겠습니다.(아는 범위에서)
다음에는 한테이블을 무제한 분류 카테고리 만드는방법( 물론 db를 이용합니다.)
예) 오픈소스중 1차 카테고리만 나오는 쇼핑몰( 무슨무슨쇼핑몰) 을 다용도 분류카테고리로 변화시켜서 무지 비싸게... 일반업체에 .~~~ 참고로 전 해당 라이센스를 위반한적이 없습니다.. 감옥갑니다...
하는 방법만 올려드립니다.
예) 오픈소스중 1차 카테고리만 나오는 쇼핑몰( 무슨무슨쇼핑몰) 을 다용도 분류카테고리로 변화시켜서 무지 비싸게... 일반업체에 .~~~ 참고로 전 해당 라이센스를 위반한적이 없습니다.. 감옥갑니다...
하는 방법만 올려드립니다.
<br>
<select name='wr_3' size="1">
<?php
$cat_array=gball($mta='w_num',$mid='w_num_id',$mname='w_num_name');
foreach ($cat_array as $row){?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
function db_connect()
{
$result = new mysqli('localhost', '계정아이디', '패스워드', '테이타베이스');
if (!$result)
return false;
$result->autocommit(TRUE);
return $result;
}
function gball($mta,$mid,$mname)
{
// 테이터베이스에 원하는 숫자를 불러온다
$conn = db_connect();
$query = "select $mid,$mname from $mta";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
?>
<select name='wr_3' size="1">
<?php
$cat_array=gball($mta='w_num',$mid='w_num_id',$mname='w_num_name');
foreach ($cat_array as $row){?><option value="<?=$row[$mname]?>"><?=$row[$mname]?><?}
function db_connect()
{
$result = new mysqli('localhost', '계정아이디', '패스워드', '테이타베이스');
if (!$result)
return false;
$result->autocommit(TRUE);
return $result;
}
function gball($mta,$mid,$mname)
{
// 테이터베이스에 원하는 숫자를 불러온다
$conn = db_connect();
$query = "select $mid,$mname from $mta";
$result = @$conn->query($query);
if (!$result)
return false;
$num_cats = @$result->num_rows;
if ($num_cats ==0)
return false;
$result = db_array($result);
return $result;
}
function db_array($result)
{
$res_array = array();
for ($count=0; $row = $result->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}
?>
감사합니다.
스크랩할께요~
스크랩할께요~
추가 함수 추천
좋은 팁 스크랩해갑니다 ^ㅡㅡ^
특정 DB에 공통용어를 불러와 셀렉트화 시킴
고맙읍니다.
디비자료 셀렉트 로 변환