채택완료

php7에서

2018-09-16 (일) 10:28:25 2,143

https://sir.kr/g4_tiptech/10520 

이 팁이 php5에서는 잘되었거든요,,

여러 필드를 하나의 분할 필드에 합치는거요

그래서 검색해보니 

i를 붙여야 한다고 해서 아래처럼 i를 붙이니 에러는 안나는데

정작 필드가 합쳐지지 않네요,,,

php5버전에서는 잘되었는데...

<? 
// db연결 접속자 

$host = 'localhost'; //호스트 
$user = '디비명'; 
$password = '비번'; 
$db = '계정명'; 

$con = mysqli_connect($host, $user ,$password); 
mysqli_select_db($db,$con); 


$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = mysqli_query($sql); 
for($i=0;$i<$row=mysqli_fetch_array($result);$i++) { 
    $temp = $row[wr_228]."|".$row[wr_52]."|".$row[wr_55]; 
    $sql = " update g5_write_order set wr_380 = '$temp' where wr_id = '$row[wr_id]' "; 
    mysqli_query($sql); 
} 
?> 

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트

<?php 아래에

include_once('_common.php'); // 이건 만들거나 해서 적당한 폴더에 넣으셔야겠죠?

그리고 위 해피정님의 소스 즉, 그누보드의 함수를 사용하여 

$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = sql_query($sql); 
for($i=0;$row=sql_fetch_array($result);$i++) { 
    $temp = $row['wr_228']."|".$row['wr_52']."|".$row['wr_55']; 
    $sql = " update g5_write_order set wr_380 = '{$temp}' where wr_id = '{$row['wr_id']}' "; 
    sql_query($sql); 
} 

위 소스로 시도해 보시죠.

답변에 대한 댓글 1개

2018-09-16 (일) 12:36:41
아 잘됩니다. 너무 감사합니다~

 이미 채택 된 질문이지만...

mysqli_select_db($con, $db); <------- 이 부분에서 잘못되었죠. 디비명이 뒤로

그리고 간단히 한줄로 가능한 일을 저렇게 query하고 loop돌리고 할 필요없습니다

 mysqli_query($con, "update g5_write_order set wr_380 = CONCAT_WS('|', wr_228, wr_52, wr_55) ");

그누보드를 이용한 페이지에선 디비접속 저런건 필요없고

<?

include "경로/common.php";

sql_query("update g5_write_order set wr_380 = CONCAT_WS('|', wr_228, wr_52, wr_55) ");

?>

http://www.happyjung.com/lecture/301  요거 참고하세요

<?php
// db연결 접속자 

$host = 'localhost'; //호스트 
$user = '디비명'; 
$password = '비번'; 
$db = '계정명'; 

$con = mysqli_connect($host, $user ,$password, $db); 


$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = mysqli_query($con, $sql); 
for($i=0;$i<$row=mysqli_fetch_array($result);$i++) { 
    $temp = $row['wr_228']."|".$row['wr_52']."|".$row['wr_55']; 
    $sql = " update g5_write_order set wr_380 = '{$temp}' where wr_id = '{$row['wr_id']}' "; 
    mysqli_query($sql); 
} 
?> 


그누보드5는 mysql과 mysqli 모드 common.lib.php 에서 처리되어 있으므로

변경없이 사용 가능합니다.


<?php
$sql = " select wr_id,wr_228,wr_52,wr_55 from g5_write_order order by wr_id asc "; 
$result = sql_query($sql); 
for($i=0;$i<$row=sql_fetch_array($result);$i++) { 
    $temp = $row['wr_228']."|".$row['wr_52']."|".$row['wr_55']; 
    $sql = " update g5_write_order set wr_380 = '{$temp}' where wr_id = '{$row['wr_id']}' "; 
    sql_query($sql); 
} 
?> 

답변에 대한 댓글 2개

2018-09-16 (일) 10:59:50
감사합니다만 위에 코드로 했는데 합쳐지지 않아요...
아래코드는 애러나구요
2018-09-16 (일) 12:37:07
감사합니다 도움이 많이 되었습니다.

답변을 작성하려면 로그인이 필요합니다.