2014-10-11 2 views
0

나는 가게를 만들고 있습니다. 사용자가 아이템을 구매할 때 Mysql 데이터베이스에서 제품 ID 1 또는 2 또는 둘 모두를 구입했다고 추가됩니다. 사용자가 (id 1과 2)를 모두 구입하고 테이블 users의 mysql 열 purchases1,2으로 나타나기를 원한다면 그렇게 할 수 있습니다.MySQL 데이터를 가져 와서 구분 기호로 구분하십시오.

//inside loop with $i incrementing till no more delimiter is found. 

if($purchase[$i] == 1){ 
     echo 'You purchased '.$i.''; 
} 

은 기본적으로 내가 모든 purchases 열에서 구입 저장할 :하지만 주요 부분은 내가 PHP의 결과를 얻을 수 및 루프 구분 ,에 의해 문자열을 분리 할 수있는 방법을 다음 개별적으로 모든 숫자를 얻을이 수행하는 것이 온다 users을 쉼표로 구분 한 다음 결과를 검색하고 쉼표를 구분 한 다음 PHP의 각 숫자를 비교합니다.

추신. 여기 멍청한 녀석!

+1

데이타베이스에 쉼표로 구분 된 데이터를 사용하지 마십시오 열을 사용하면 쿼리에서 사용하기가 어렵습니다. 그들을 별도의 행에 넣으십시오. – Barmar

+1

그러나 질문에 대답하려면 PHP의'explode()'함수를 사용하십시오. – Barmar

답변

2

이것은 잘못된 데이터베이스 디자인이므로 각 구매마다 별도의 행이있는 테이블을 만들어야합니다. 당신이 붙어있는 경우에, explode()를 사용 기능을 폭발

$purchases = explode(',', $row['purchases']); 
foreach ($purchases as $purchase) { 
    echo 'You purchased '.$purchase.'<br>'; 
} 
관련 문제