할용팁란에 까만도둑님께서 올려주신 공동구매리스트에 대해..... 정보
할용팁란에 까만도둑님께서 올려주신 공동구매리스트에 대해.....본문
안녕하세요?
활용팁란에 까만도둑님께서 올려주신 공동구매에서 메인에 최신글형태로 뽑고자합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=25880&sca=&sfl=wr_subject||wr_content&stx=%EA%B3%B5%EA%B5%AC&sop=and
가장최근에 올린 상품하나만 이미지와 내용을 뽑고자합니다
현재는 올리는 상품이 전부 출력되는 형태입니다.
$config[gg_list_mod] = 1; // 한라인에 몇개씩 출력할것인지?
이분에서 수정하면 가로로는 한개만 출력이 되는데 줄바꿔서 이전상품까지 출력이 됩니다.
수정방법을 알려주시면 대단히 감사하겠습니다.
아래는 main.php파일의 내용입니다.
<link rel="stylesheet" href="<?=$g4['path']?>/0909/style.css" type="text/css">
<?
// 테이블명
$g4[gg_config_table] = "gg_config_table"; // 설정 테이블
$g4[gg_gongoo_table] = "gg_gongoo_table"; // 공구 테이블
$g4[gg_order_table] = "gg_order_table"; // 주문서 테이블
$g4[gg_request_table] = "gg_request_table"; // 신청서 테이블
//-------------------------------------------
// 설정 테이블에서 설정값 얻기
//-------------------------------------------
$sql = " select * from $g4[gg_config_table] ";
$row = @sql_fetch($sql);
$config = array_merge($config, is_array($row) ? $row : array());
//-------------------------------------------
// 공구 테이블에서 하나의 행을 읽음
function _gg_get_gongoo($id)
{
global $g4;
$sql = " select * from $g4[gg_gongoo_table]
where gg_id = '$id' ";
return sql_fetch($sql);
}
// 신청서 테이블에서 하나의 행을 읽음
function _gg_get_request($re_id)
{
global $g4;
$sql = " select * from $g4[gg_request_table]
where re_id = '$re_id' ";
return sql_fetch($sql);
}
// 주문서 테이블에서 하나의 행을 읽음
function _gg_get_order($od_id, $od_altkey="")
{
global $g4;
$sql = " select * from $g4[gg_order_table]
where od_id = '$od_id' ";
if ($od_altkey) {
$sql .= " and od_altkey = '$od_altkey' ";
}
return sql_fetch($sql);
}
// 리스트 제목에 정렬 넣기
function _gg_get_field_sort($subject, $field) {
global $_SERVER, $qstr, $aorder, $doc;
return "<a href='?$qstr&sst=$field&sod=$aorder[$field]'>$subject</a>";
}
// 이미지를 업로드 한다.
function _gg_image_upload($gg_id, $file)
{
global $g4;
$img_id = substr("000000" . $gg_id, -7); // 일련번호를 0000001 과 같은 형식으로 만든다.
$dest_file = "";
$tmp_name = $file["tmp_name"];
$name = $file["name"];
if (is_uploaded_file($tmp_name) && $name) {
$dest_file = "{$img_id}_{$name}";
$dest_path = "./img/$dest_file";
move_uploaded_file($tmp_name, $dest_path) or die($file[error]);
chmod($dest_path, 0707);
}
return $dest_file;
}
// 이미지의 링크와 규격을 얻는다.
function _gg_get_img_link_size($img)
{
global $g4;
$path = "./img/$img";
$size = getimagesize($path);
return "<a href='$path' target=_blank>$img</a> ($size[0]x$size[1])";
}
// 공구상품의 현재 가격을 얻는다.
function _gg_get_hyunjaega($gg_id, $sijakga, $mokpyoga, $mokpyo_qty, $sum_re_qty)
{
global $g4;
// 신청수량이 목표수량보다 많다면 목표가 도달
if ($sum_re_qty >= $mokpyo_qty) {
$hyunjaega = $mokpyoga;
} else {
if ($sum_re_qty > 0) {
$gaedang = ($sijakga - $mokpyoga) / $mokpyo_qty;
$gap = $gaedang * $sum_re_qty;
$hyunjaega = $sijakga - $gap;
} else {
$hyunjaega = $sijakga;
}
}
// 100원 미만 버림
$hyunjaega = (int)((int)($hyunjaega / 100) * 100);
return $hyunjaega;
}
// 위대한 한글인가?
function _gg_is_hangul($str)
{
/*
$is = true;
for ($i=0; $i<strlen($str); $i++) {
$char = ord($str[$i]);
if(!(($char >= 0xa1) && ($char <= 0xfe))) {
$is = false;
break;
}
}
return $is;
*/
return check_string($str, _G4_HANGUL_);
}
// 공구상품 테이블의 신청수량을 가감한다.
function _gg_set_gongoo_request_qty($gg_id, $re_qty)
{
global $g4;
$sql = " update $g4[gg_gongoo_table]
set gg_request_qty = gg_request_qty + '$re_qty'
where gg_id = '$gg_id' ";
sql_query($sql);
}
// 1인당 신청수량
// 공구상품ID, 회원ID, 신청자이름, 신청자전화번호, 신청수량
function _gg_check_1indang_qty($gg_id, $mb_id, $re_name, $re_email, $re_qty)
{
global $g4;
$gg = _gg_get_gongoo($gg_id);
$sql = " select sum(re_qty)
from $g4[gg_request_table]
where gg_id = '$gg[gg_id]' ";
if ($mb_id) {
$sql .= " and mb_id = '$mb_id' ";
} else {
$sql .= " and re_name = '$re_name'
and re_email = '$re_email' ";
}
$row = sql_fetch($sql);
if ((int)($row[0] + $re_qty) > $gg[gg_1indang_qty]) {
alert("1인당 {$gg[gg_1indang_qty]}개 까지 신청하실 수 있습니다.\\n\\n{$re_name}님께서는 이미 {$row[0]}개를 신청하셨습니다.", "./09.php?gg_id=$gg[gg_id]");
}
}
$config[gg_list_mod] = 1; // 한라인에 몇개씩 출력할것인지?
// 신청수량이 한정수량을 넘었거나 신청일시가 아니라면 select 하지 않는다.
$sql = " select *
from $g4[gg_gongoo_table]
where gg_hanjeong_qty > gg_request_qty
and NOW() between gg_fr_datetime and gg_to_datetime
order by gg_sequence, gg_id desc ";
$result = sql_query($sql);
?>
<?
echo "<table width='100%' align='center' border='0' cellpadding='0' cellspacing='0'>\n";
$colwidth = (int)(100 / $config[gg_list_mod]);
for ($i=0; $i<$config[gg_list_mod]; $i++) {
echo "<col width='{$colwidth}%'></col>\n";
}
echo "<tr>\n";
for ($i=0; $gg=sql_fetch_array($result); $i++) {
if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
}
$var[hyunjaega] = _gg_get_hyunjaega($gg[gg_id], $gg[gg_sijakga], $gg[gg_mokpyoga], $gg[gg_mokpyo_qty], $gg[gg_request_qty]);
echo "
<td valign=top>
<table width=100%>
<tr>
<td valign=top>
<table width=269>
<tr><td align=center>
<table width=115 border=0 cellpadding=0 cellspacing=5 bgcolor=#A29DA3>
<tr>
<td>
<a href='./0909/09.php?gg_id=$gg[gg_id]'><img src='./0909/img/$gg[gg_simg]' border=0></a>
</td>
</tr>
</table>
</td><td><table border='0'>
<tr><td><b><a href='./0909/09.php?gg_id=$gg[gg_id]'>* $gg[gg_subject]</a></b></td></tr>
<tr><td>*시작일시 : $gg[gg_fr_datetime] <br>*마감일시 : $gg[gg_to_datetime]</td></tr>
<tr>
<!-- style='padding:상px 좌px 하px 우px;'-->
<td>
* 시작가 : ".number_format($gg[gg_sijungga])."원<br>
* <span class='cssstress'>현재가 : ".number_format($var[hyunjaega])."원</span><br>
* 신청수량 : {$gg[gg_request_qty]}{$gg[gg_danwi]} / ".number_format($gg[gg_hanjeong_qty])."{$gg[gg_danwi]}
</td>
</tr>
</table> </td></tr>
<tr>
<td align='center'>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
";
}
if ($i == 0) {
echo "<td height=100 align=center>진행중인 공동구매 상품이 없습니다.</td>";
} else {
// 나머지 td 를 colspan 으로 채운다.
$cnt = $config[gg_list_mod] - ($i % $config[gg_list_mod]);
if ($cnt < $config[gg_list_mod]) {
$width = $colwidth * $cnt;
echo "<td colspan=$cnt width='{$width}%'></td>";
}
}
?>
</tr>
</table>
활용팁란에 까만도둑님께서 올려주신 공동구매에서 메인에 최신글형태로 뽑고자합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=25880&sca=&sfl=wr_subject||wr_content&stx=%EA%B3%B5%EA%B5%AC&sop=and
가장최근에 올린 상품하나만 이미지와 내용을 뽑고자합니다
현재는 올리는 상품이 전부 출력되는 형태입니다.
$config[gg_list_mod] = 1; // 한라인에 몇개씩 출력할것인지?
이분에서 수정하면 가로로는 한개만 출력이 되는데 줄바꿔서 이전상품까지 출력이 됩니다.
수정방법을 알려주시면 대단히 감사하겠습니다.
아래는 main.php파일의 내용입니다.
<link rel="stylesheet" href="<?=$g4['path']?>/0909/style.css" type="text/css">
<?
// 테이블명
$g4[gg_config_table] = "gg_config_table"; // 설정 테이블
$g4[gg_gongoo_table] = "gg_gongoo_table"; // 공구 테이블
$g4[gg_order_table] = "gg_order_table"; // 주문서 테이블
$g4[gg_request_table] = "gg_request_table"; // 신청서 테이블
//-------------------------------------------
// 설정 테이블에서 설정값 얻기
//-------------------------------------------
$sql = " select * from $g4[gg_config_table] ";
$row = @sql_fetch($sql);
$config = array_merge($config, is_array($row) ? $row : array());
//-------------------------------------------
// 공구 테이블에서 하나의 행을 읽음
function _gg_get_gongoo($id)
{
global $g4;
$sql = " select * from $g4[gg_gongoo_table]
where gg_id = '$id' ";
return sql_fetch($sql);
}
// 신청서 테이블에서 하나의 행을 읽음
function _gg_get_request($re_id)
{
global $g4;
$sql = " select * from $g4[gg_request_table]
where re_id = '$re_id' ";
return sql_fetch($sql);
}
// 주문서 테이블에서 하나의 행을 읽음
function _gg_get_order($od_id, $od_altkey="")
{
global $g4;
$sql = " select * from $g4[gg_order_table]
where od_id = '$od_id' ";
if ($od_altkey) {
$sql .= " and od_altkey = '$od_altkey' ";
}
return sql_fetch($sql);
}
// 리스트 제목에 정렬 넣기
function _gg_get_field_sort($subject, $field) {
global $_SERVER, $qstr, $aorder, $doc;
return "<a href='?$qstr&sst=$field&sod=$aorder[$field]'>$subject</a>";
}
// 이미지를 업로드 한다.
function _gg_image_upload($gg_id, $file)
{
global $g4;
$img_id = substr("000000" . $gg_id, -7); // 일련번호를 0000001 과 같은 형식으로 만든다.
$dest_file = "";
$tmp_name = $file["tmp_name"];
$name = $file["name"];
if (is_uploaded_file($tmp_name) && $name) {
$dest_file = "{$img_id}_{$name}";
$dest_path = "./img/$dest_file";
move_uploaded_file($tmp_name, $dest_path) or die($file[error]);
chmod($dest_path, 0707);
}
return $dest_file;
}
// 이미지의 링크와 규격을 얻는다.
function _gg_get_img_link_size($img)
{
global $g4;
$path = "./img/$img";
$size = getimagesize($path);
return "<a href='$path' target=_blank>$img</a> ($size[0]x$size[1])";
}
// 공구상품의 현재 가격을 얻는다.
function _gg_get_hyunjaega($gg_id, $sijakga, $mokpyoga, $mokpyo_qty, $sum_re_qty)
{
global $g4;
// 신청수량이 목표수량보다 많다면 목표가 도달
if ($sum_re_qty >= $mokpyo_qty) {
$hyunjaega = $mokpyoga;
} else {
if ($sum_re_qty > 0) {
$gaedang = ($sijakga - $mokpyoga) / $mokpyo_qty;
$gap = $gaedang * $sum_re_qty;
$hyunjaega = $sijakga - $gap;
} else {
$hyunjaega = $sijakga;
}
}
// 100원 미만 버림
$hyunjaega = (int)((int)($hyunjaega / 100) * 100);
return $hyunjaega;
}
// 위대한 한글인가?
function _gg_is_hangul($str)
{
/*
$is = true;
for ($i=0; $i<strlen($str); $i++) {
$char = ord($str[$i]);
if(!(($char >= 0xa1) && ($char <= 0xfe))) {
$is = false;
break;
}
}
return $is;
*/
return check_string($str, _G4_HANGUL_);
}
// 공구상품 테이블의 신청수량을 가감한다.
function _gg_set_gongoo_request_qty($gg_id, $re_qty)
{
global $g4;
$sql = " update $g4[gg_gongoo_table]
set gg_request_qty = gg_request_qty + '$re_qty'
where gg_id = '$gg_id' ";
sql_query($sql);
}
// 1인당 신청수량
// 공구상품ID, 회원ID, 신청자이름, 신청자전화번호, 신청수량
function _gg_check_1indang_qty($gg_id, $mb_id, $re_name, $re_email, $re_qty)
{
global $g4;
$gg = _gg_get_gongoo($gg_id);
$sql = " select sum(re_qty)
from $g4[gg_request_table]
where gg_id = '$gg[gg_id]' ";
if ($mb_id) {
$sql .= " and mb_id = '$mb_id' ";
} else {
$sql .= " and re_name = '$re_name'
and re_email = '$re_email' ";
}
$row = sql_fetch($sql);
if ((int)($row[0] + $re_qty) > $gg[gg_1indang_qty]) {
alert("1인당 {$gg[gg_1indang_qty]}개 까지 신청하실 수 있습니다.\\n\\n{$re_name}님께서는 이미 {$row[0]}개를 신청하셨습니다.", "./09.php?gg_id=$gg[gg_id]");
}
}
$config[gg_list_mod] = 1; // 한라인에 몇개씩 출력할것인지?
// 신청수량이 한정수량을 넘었거나 신청일시가 아니라면 select 하지 않는다.
$sql = " select *
from $g4[gg_gongoo_table]
where gg_hanjeong_qty > gg_request_qty
and NOW() between gg_fr_datetime and gg_to_datetime
order by gg_sequence, gg_id desc ";
$result = sql_query($sql);
?>
<?
echo "<table width='100%' align='center' border='0' cellpadding='0' cellspacing='0'>\n";
$colwidth = (int)(100 / $config[gg_list_mod]);
for ($i=0; $i<$config[gg_list_mod]; $i++) {
echo "<col width='{$colwidth}%'></col>\n";
}
echo "<tr>\n";
for ($i=0; $gg=sql_fetch_array($result); $i++) {
if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
}
$var[hyunjaega] = _gg_get_hyunjaega($gg[gg_id], $gg[gg_sijakga], $gg[gg_mokpyoga], $gg[gg_mokpyo_qty], $gg[gg_request_qty]);
echo "
<td valign=top>
<table width=100%>
<tr>
<td valign=top>
<table width=269>
<tr><td align=center>
<table width=115 border=0 cellpadding=0 cellspacing=5 bgcolor=#A29DA3>
<tr>
<td>
<a href='./0909/09.php?gg_id=$gg[gg_id]'><img src='./0909/img/$gg[gg_simg]' border=0></a>
</td>
</tr>
</table>
</td><td><table border='0'>
<tr><td><b><a href='./0909/09.php?gg_id=$gg[gg_id]'>* $gg[gg_subject]</a></b></td></tr>
<tr><td>*시작일시 : $gg[gg_fr_datetime] <br>*마감일시 : $gg[gg_to_datetime]</td></tr>
<tr>
<!-- style='padding:상px 좌px 하px 우px;'-->
<td>
* 시작가 : ".number_format($gg[gg_sijungga])."원<br>
* <span class='cssstress'>현재가 : ".number_format($var[hyunjaega])."원</span><br>
* 신청수량 : {$gg[gg_request_qty]}{$gg[gg_danwi]} / ".number_format($gg[gg_hanjeong_qty])."{$gg[gg_danwi]}
</td>
</tr>
</table> </td></tr>
<tr>
<td align='center'>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
";
}
if ($i == 0) {
echo "<td height=100 align=center>진행중인 공동구매 상품이 없습니다.</td>";
} else {
// 나머지 td 를 colspan 으로 채운다.
$cnt = $config[gg_list_mod] - ($i % $config[gg_list_mod]);
if ($cnt < $config[gg_list_mod]) {
$width = $colwidth * $cnt;
echo "<td colspan=$cnt width='{$width}%'></td>";
}
}
?>
</tr>
</table>
댓글 전체
적용해보지 않아서 알수 없지만..
간단히 한개만 출력하는 방법은...
for ($i=0; $gg=sql_fetch_array($result); $i++) {
if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
}
이 부분에서
for ($i=0; $gg < 1; $i++) {
if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
}
for ($i=0; $gg=sql_fetch_array($result); $i++) { 이 부분을
for ($i=0; $gg < 1; $i++) { 이렇게 바꿔보세요.
간단히 한개만 출력하는 방법은...
for ($i=0; $gg=sql_fetch_array($result); $i++) {
if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
}
이 부분에서
for ($i=0; $gg < 1; $i++) {
if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
}
for ($i=0; $gg=sql_fetch_array($result); $i++) { 이 부분을
for ($i=0; $gg < 1; $i++) { 이렇게 바꿔보세요.
올래님 감사합니다...
말씀대로 수정하니 리스트형식으로 줄바꿈되어한없이 출력이되고
이미지와 내용등 아무것도 불러오지를 못하네요....
다시한번 살펴봐주시면 대단히 감사하겠습니다.
말씀대로 수정하니 리스트형식으로 줄바꿈되어한없이 출력이되고
이미지와 내용등 아무것도 불러오지를 못하네요....
다시한번 살펴봐주시면 대단히 감사하겠습니다.