2010-05-10 2 views
0

MySQL 데이터베이스에서 여러 텍스트 파일로 데이터를 추출해야합니다.MySQL : MySQL 테이블에서 여러 텍스트 파일을 추출하는 방법

나는 4 개의 열이있는 테이블을 가지고 있습니다 : UserID, UserName, Tag, Score.

은 내가 아이디, 및 이 (점수에 의해 주문)이 점수 사용자 이름, 각 태그에 대한 텍스트 파일을 작성해야합니다. 예를

Tag1.txt 
234922 John 35 
234294 David 205 
392423 Patrick 21 

Tag2.txt 
234922 John 35 
234294 David 205 
392423 Patrick 21 

등을 위해

...

편집 : 샘플 : http://dl.dropbox.com/u/72686/expertsTable.png

+0

SQLyog 또는 PHPMyAdmin과 같은 데이터베이스 관리 프로그램에서이 작업을 수행하고 있습니까? 아니면 쿼리를 수행하고 파일을 쓰는 프로그램이 있습니까? – JYelton

+0

예 저는 Mac 용 PHPMYAdmin 및 Sequel Pro를 사용하고 있습니다. 그들은 쿼리를 기반으로 파일을 작성합니다 ... 나는 당신이 필요한 종류의 정보가 무엇인지 모르겠다. 묻다. – aneuryzm

+0

파일 쓰기 부분이 당신을 위해 돌봐주기 때문에 도움이된다. SQL 쿼리 구문이 무엇인지 알아야한다. 있다. 그렇다면 다음 두 가지 질문은 다음과 같습니다. 1) 기록이있는만큼 태그가 있습니까? 2) 작은 표본을 제공 할 수 있습니까? – JYelton

답변

0

정상적인 mysql_fetch_object() 함수에 대한 코드를 작성하고 PHP의 쓰기 함수를 사용하여 문제를 해결할 수 있습니다. 아래를 참조하십시오.

$Query = "select * from Table1"; 
$row = $mysql_query($Query); 
while($rs = mysql_fetch_object($row)) 
{ 
    $filecontent = $rs->userid . ' '. $rs->username . ' '. $rs->score; 
    $myFile = $rs->tag.".txt"; 
    $fh = fopen($myFile, 'w') or die("can't open file"); 
    $stringData = $filecontent."\n"; 
    fwrite($fh, $stringData); 
    fclose($fh); 
} 
1

내가 자동으로 모든 파일을 작성합니다 쿼리하지 않는 한, 거기 확실하지 않다 당신은 어떤 종류의 저장 프로 시저 또는 커서를 사용합니다. (나는 대부분 그것들에 익숙하지 않습니다.) (

SELECT userid, name, score, tag FROM users 
GROUP BY tag 
ORDER BY score DESC; 

이 주어진 태그의 모든 점수를 선택합니다 Z :

이 각 태그에서 득점 왕을 선택하고 해당 목록을 나열 :

그러나 여기 당신이 유용하게 사용할 수있는 두 쿼리입니다 점수의 순서로)이 예에서 - 웨이브 : 귀하의 예를 원하는 결과에 점수 순서대로 될 것 같지 않는

DECLARE @TagName AS STRING; 
SET @TagName = "z-wave"; 
SELECT userid, NAME, score, tag FROM users 
WHERE tag = @TagName 
ORDER BY score DESC; 

참고.

+0

안녕하세요.이 스 니펫에 감사드립니다. 나는 실제로 PHP-Prabhu의 PHP 코드와 함께 두 번째 쿼리를 사용하는 방법을 연구하고있었습니다. 내가 모든 태그를 가진 테이블을 만들고 PHP 스크립트를 실행하여 태그 이름을 검색하고 각 태그에 대한 쿼리를 실행해야합니까? – aneuryzm

+0

나는 이것이 내가 취할 수있는 길이라고 생각한다. 태그 목록 (사용자로부터 고유 한 (태그) 선택)에 대한 테이블을 쿼리하기 만하면 두 번째 쿼리를 실행하는 해당 목록을 사용하여 루프를 만들고 각 반복의 결과를 태그 다음에 명명 된 파일로 출력합니다. – JYelton

관련 문제