게시물 가로로 3개 출력 후 줄바꿈 채택완료
총30개 게시물이 가로로 3개 출력 후 줄바꿈하여 10줄이 되게 하려는데요
게시물이 30번 반복되게 하였습니다
for ($i=0; $i 요부분이 문제인 거 같은데요 어떻게 수정해야 할지 고수님들 부탁드립니다 아래 소스로 실행을 하면 출력되는 게시물이 30개가 넘고 출력이 엉망입니다 --------------------------------------------------------------------------------------
// 반복되는 부분중에 그 특정내용 태그만 뽑아오기 foreach ($xml->wanted as $obj) {
$list[$i][wr_10] = $obj->company;
$list[$a][subject] = $obj->title;
$ex2_filed[0] = $obj->region;
$list[$i][wr_26] = $obj->salTpNm;
$list[$i][wr_27] = $obj->minSal;
$wnum[$a] = $obj->wantedAuthNo;
$date_ymd = $obj->closeDt; ?> 0 && $i%$cols==0) {
echo " $gold_style = " style=\"display; border: solid 1px #2A8EF2;\"";
$subject_box = " style=\"border-top: solid 1px #2A8EF2; padding:3px 7px; background-color: #DCEFFF;\"";
?> ";
echo "
}else if (!file_exists($list[$i][file_image0])){
echo " ";
echo "{$list[$i]['subject']}";
echo "";
echo " " . $list[$i][icon_new];
?> "; }else if ($ext8_01 == "상시모집") {
echo " }else{ //구인완료
echo "
} ?>
} ?> ";
}
";
}
border="0" summary="박스." cellspacing="0">
";
";
echo " ";
echo " ";
echo "";
echo "
";
echo "
";
}
?>
";
echo " ";
echo "";
echo " ";
echo "
>
";
";
}
?>
답변 4개
</p>
<p><?
// 반복되는 부분중에 그 특정내용 태그만 뽑아오기
$i = 0;
foreach ($xml->wanted as $obj) {
$list[$i][wr_10] = $obj->company;
$list[$i][subject] = $obj->title;
$list[$i][ex2_filed] = $obj->region;
$list[$i][wr_26] = $obj->salTpNm;
$list[$i][wr_27] = $obj->minSal;
$list[$i][wnum] = $obj->wantedAuthNo;
$list[$i][date_ymd] = $obj->closeDt;
$i++;
}</p>
<p>?></p>
<p><div class="job_latest_wrap">
<table WIDTH="100%" border="0" summary="박스." cellspacing="0">
<tbody valign="top"></p>
<p><?php
$cols = 3;
$gold_style = " style=\"display; border: solid 1px #2A8EF2;\"";
$subject_box = " style=\"border-top: solid 1px #2A8EF2; padding:3px 7px; background-color: #DCEFFF;\"";
for ($i=0; $i<count($list); $i++) {
if ($i%$cols==0) {
echo "<tr><td colspan='{$cols}' height='{$space_h}'></td></tr><tr>";
}
?> <td width="<?php echo $col_width?>%" align="center">
<table WIDTH="<?php echo $box_w?>%" <?php echo $gold_style?> border="0" summary="박스." cellspacing="0">
<tbody valign="top">
<tr>
<td class="thumb_box" align='middle'></p>
<p> <?php
if (preg_match("/\.(jpg|gif|png|bmp)$/i", $thumb) && file_exists($thumb)) {
echo "<table width='100%' border='0' summary=\"로고, 회사명 박스.\" cellspacing='0'>";
echo "<tr>";
echo "<td style='height:{$img_h}px; text-align: center; border:0px solid #c7c7c7;'>";
echo "<a href='{$list[$i]['href']}'><img src='$thumb' border='0' align='absmiddle'></a>";
echo "</td>";
echo "</tr></table>";</p>
<p>
}else if (!file_exists($list[$i][file_image0])){
echo "<table width='100%' border='0' summary=\"로고 이미지가 아닐때, 회사명 박스.\" cellspacing='0'>";
echo "<tr>";
echo "<td style='height:{$img_h}px; text-align: center; border:0 solid #c7c7c7;'>";
echo "<a href='{$list[$i]['href']}'><strong><blink><font color='#33CCFF'>{$list[$i][wr_10]}</font></blink></strong>";
echo "</td>";
echo "</tr></table>";
}
?></p>
<p> </td>
</tr>
<tr></p>
<p> <td <?php echo $subject_box?>>
<ul class="guin-content">
<li class="wr_10"><a href="<?php echo $list[$i]['href']?>"><strong><?php echo cut_str($list[$i][wr_10],40); //회사명 ?></strong></a></li>
<li></p>
<p> <?php
echo "<a href='{$list[$i]['href']}'>";
echo "{$list[$i]['subject']}";
echo "</a>";
echo " " . $list[$i][icon_new];
?></p>
<p> </li>
<!--<li>성별:<?php echo$list[$i][wr_11]; ?></li>-->
<li>급여사항:<b><?php echo$list[$i][wr_26]; //급여사항 ?></b>
<?php if ( $list[$i]['wr_27'] ==! null) {
echo "<b>";
echo number_format($list[$i]['wr_27']) . "원";
echo "</b>";
} else {
echo "<b>";
echo$list[$i]['wr_29'];
echo "</b>";} ?>
</li>
<li>근무지:<?//=cut_str($list[$i][wr_1],20,"") // 근무지 ?><?=$ex2_filed[0]?> <?=$ex2_filed[1]?>
<span style="float:right;"></p>
<p> <?php //마감일
$date_ymd = date(Y)."-".date(m)."-".date(d);
if ($date_ymd <= $ext8_00) { //날짜를 구한다
echo "<img src='$latest_skin_path/img/icon_onf.gif' border='0' align='absmiddle'>";</p>
<p> }else if ($ext8_01 == "상시모집") {
echo "<img src='$latest_skin_path/img/icon_on.gif' border='0' align='absmiddle'>";</p>
<p> }else{ //구인완료
echo "<img src='$latest_skin_path/img/icon_off.gif' border='0' align='absmiddle'>";
}
?></p>
<p></span>
</li>
</ul></p>
<p> </td>
</tr>
</tbody>
</table>
</td>
<?
if ($i%$cols==0){
echo "</tr>";
}
}
if($i%$cols != 0){
echo "</tr>";
}
?>
</tbody>
</table>
</div></p>
<p>
이런식으로 2중 for문을 사용하지 마시고 상단에서 list를 정의해주고 하단에서 list를 불러서 3줄 단위로 쪼개면 될 듯 해요
for문 구조만 바꾼거라 데이터의 일부가 나오지 않겠지만 도움 되길 바랍니다.
답변에 대한 댓글 6개
[code]
if ($i%$cols==0){
[/code]
[code]
if ($i%$cols==0 && $i != 0){
[/code]
이렇게 바꿔보시겠어요?
두번째줄부터는 2개로 나오네요
https://www.sisulteam.com/ss/7.php
여기로 카톡주세요 처리해드릴께요
if ($i%$cols==2){
[/code]
하단부 </tr>구간 오류였네요;;
아 번번히 너무 고맙습니다
댓글을 작성하려면 로그인이 필요합니다.
팻시님께서 예전에 알려주신 팁입니다^^ 참고하세요.
<table width="100%" border="0">
<?php
$parts = 3; // 세덩어리씩 보여줄때
//$i 는 0 부터 시작하세요.
for ($i=0; $i<$list_count; $i++) {
if($i % $parts == 0) echo "<tr>";
?>
<td><?=$list[$i]['subject']?></td>
<?php
if($i % $parts == ($parts-1)) echo "</tr>";
}</p>
<p>// 그리고 3의 배수로 딱 끝나지 않잖아요.
if($key % $parts != ($parts-1)) {
echo str_repeat("<td colspan='3'></td>", (($parts - ($i % $parts)) % $parts));
echo "</tr>";
}
?>
</table>
답변에 대한 댓글 12개
적용해 보았는데 어렵네요
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
<tr>
<td>g</td>
<td>h</td>
<td>i</td>
</tr>
......
<tr>
<td>x</td>
<td>y</td>
<td>z</td>
</tr>
이런 식입니다
-------------------------------------------------------------
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/*
* Ezjob for Gnuboard4 skin
* Copyright 2012. 08. Ezjob.kr
* File Encoding: Korean(Euc-Kr)
*/
// $is_crop = 1;
// $is_crop : 세로 높이가 $height를 넘을 때 crop 할 것인지를 결정
// 0 : crop 하지 않습니다
// 1 : 기본 crop
// 2 : 중간을 기준으로 crop
$col_width = (int)(100 / $cols);
//불당썸---------------------------------------------------------------//
//$img_w = 100; //표시할 이미지의 가로사이즈
$img_h = 40; //표시할 이미지의 세로사이즈
//$img_s = 20;
//언샾마스트 퀄리티(썸 노이즈바지)
$filter[type] = 90;
$filter[arg1] = 100;
$filter[arg2] = 1;
$filter[arg3] = 2;
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
$no_img = $latest_skin_path."/img/img_no.gif";
// 불당썸을 include
include_once("$g4[path]/lib/thumb.lib.php");
//불당썸---------------------------------------------------------------//
// 옵션 출력설정
//list($gold) = explode('/', $options);
$latest_options = explode(",", $options);
$skin_code = $bo_table.rand();
?>
<style type="text/css">
/*<!--<![CDATA[*/
@import url(<?=$latest_skin_path?>/style_latest.css);
/*]]>-->*/
</style>
<?
// 채용정보 url
$url = "http://openapi.work.go.kr/opi/opi/opia/wantedApi.do";
$var = "?authKey=********************&callTp=L&returnType=XML&startPage=1&display=9";
$data = file_get_contents($url . $var);
$xml = simplexml_load_string($data);
?>
&display=9"; 이 부분이 9번 출력하라는 부분입니다
count($list)를 9로 넣었고
$i를 $a로 바꿨습니다
게시물수가 총 9개이고
중복되지 않게
1줄에 3개씩 3줄이 나와야 하는데
어려울까요?
댓글을 작성하려면 로그인이 필요합니다.
중복없이 9개가 잘 나오네요
그런데 1줄에 3개가 아니라 2줄이 나오네요
https://www.sisulteam.com/ss/7.php