게시글 가져오기 질문좀요
본문
게시글을 가져오는데 2개씩 가져와버립니다.
어디 문제가있을까요?ㅠㅠ
소스코드
<?php
include_once('./_common.php');
global $g5, $member;
$url = @$_POST['url'] ?: @$_GET['url'];
$sel = @$_POST['sel'] ?: @$_GET['sel'];
$sel12 = @$_POST['sel12'] ?: @$_GET['sel12'];
$sel2 = @$_POST['sel2'] ?: @$_GET['sel2'];
$sel22 = @$_POST['sel22'] ?: @$_GET['sel22'];
$sel23 = @$_POST['sel23'] ?: @$_GET['sel23'];
$target_table = @$_POST['bo_table'] ?: @$_GET['bo_table'];
include_once('./S_hquery.php');
$result = array();
$list = hquery_getList($url, $sel); //목록 구해오기
foreach($list as $row) {
global $g5, $member;
preg_match_all("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]\d/i", $row['content_url'], $content_url);
// $sel2 = "div#container";
foreach ($content_url as $a) {
for ($i=0;$i<count($a);$i++){
//echo $a[$i]."<br>";
$url2 = str_replace("amp;","",$a[$i]);
if($url2 != ''){
$doc2 = hQuery::fromUrl(
$url2
, [
'Accept' => $config['accept_html'],
'User-Agent' => $config['user_agent'],
]
);
$elements2 = $doc2->find($sel2);
// $parts = parse_url($url);
// parse_str($parts['query'], $query);
// $result['wr_id'] = $query['wr_id'];
foreach($elements2 as $pos => $el2) {
$result2['wr_subject'] = $el2 -> find($sel22); //wr_subject값 구하기
$result2['wr_content'] = $el2 -> find($sel23); //wr_name값 구하기
}
// hquery_getContent($a[$i]);
// board_write($target_table, $contents);
$write_table = $g5['write_prefix'].$bo_table;
$wr_num = get_next_num($write_table);
$wr_reply = '';
$ca_name = "";
$wr_option = "html1";
$secret = "";
$mail = "";
$wr_subject = $result2['wr_subject'];
$wr_content = $result2['wr_content'];
$wr_link1 = "";
$wr_link2 = "";
$mb_id = "admin";
$wr_name = "관리자";
$wr_email = "";
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '',
wr_link2 = '',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '$mb_id',
wr_password = '',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$url2',
wr_datetime = '" . G5_TIME_YMDHIS . "',
wr_last = '" . G5_TIME_YMDHIS . "',
wr_ip = '0.0.0.0',
wr_1 = '',
wr_2 = '',
wr_3 = '',
wr_4 = '',
wr_5 = '',
wr_6 = '',
wr_7 = '',
wr_8 = '',
wr_9 = '',
wr_10 = '' ";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '" . G5_TIME_YMDHIS . "', '$mb_id' ) ");
// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
// sleep(1);
}
}
}
}
goto_url('./scrap.php');
답변 2
foreach($list as $row) {
global $g5, $member;
preg_match_all("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]\d/i", $row['content_url'], $content_url);
// $sel2 = "div#container";
foreach ($content_url as $a) {
for ($i=0;$i<count($a);$i++){
위 코드에서 루프를 검사하셔야합니다.
기존에 등록된 게시물이나 연결된 다른 테이블의 데이터가 중복이 있을때 두개씩 보일수가 있으니 확인해 보셔야 할듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.