2012-09-28 3 views
1

Im "토너먼트"애플리케이션을 만들고 6 가지 테이블의 데이터를 보려고합니다!MySQL의 6 개 테이블에서 데이터보기

데이터를 동시에 넣을 수있는 탭이 6 개 있지만 함께 볼 수는 없습니다. 그리고 몇 시간 동안 인터넷 검색을 시도했지만, 나는 그것을 얻을 수 없습니다 ...

아무튼. 승리, 무승부, 패배, 포인트를 가진 4 팀 토너먼트입니다. , ID, team1w, team2w, team3w - ID, 이름

  • 팀 - - ID, team1, 사의 Team2 심박 측정기, team3, TEAM4
  • 승리

    • 대회 이름 : 그리고이 6 개 테이블이 , team4l
    • 포인트 ID, team1l, team2l, team3l - - team4w
    • 푼다, team4d ID, team1d, team2d, team3d 묘화 ID, team1p, team2p, team3p, team4p

    뭐죠 테이블에 그게 ...

    이 내 입력, 그것은 잘 작동입니다 .. 밖으로 시작이다

    <?php 
           if(isset($_POST['submit'])) { 
            $cupname = $_POST['cupname']; 
            $team1 = $_POST['team1']; 
            $team2 = $_POST['team2']; 
            $team3 = $_POST['team3']; 
            $team4 = $_POST['team4']; 
    
            $zero = "0"; 
    
            $result = mysql_query("INSERT INTO cupname (name) VALUES ('$cupname')"); 
            $result = mysql_query("INSERT INTO teams (team1, team2, team3, team4) VALUES ('$team1', '$team2', '$team3', '$team4')"); 
            $result = mysql_query("INSERT INTO wins (team1w, team2w, team3w, team4w) VALUES ($zero, $zero, $zero, $zero)"); 
            $result = mysql_query("INSERT INTO draws (team1d, team2d, team3d, team4d) VALUES ($zero, $zero, $zero, $zero)"); 
            $result = mysql_query("INSERT INTO looses (team1l, team2l, team3l, team4l) VALUES ($zero, $zero, $zero, $zero)"); 
            $result = mysql_query("INSERT INTO points (team1p, team2p, team3p, team4p) VALUES ($zero, $zero, $zero, $zero)"); 
           echo "<h1>Turnering og lag lagt til!</h1>"; 
           } 
    
           ?> 
    

    "리그/토너먼트"를 만든다. 그리고 모든 데이터가 테이블에 있습니다.

    그리고이 코드는 웹 페이지의 간단한 현장 편집을 위해 사용한 자습서에서 가져 왔습니다. 그리고 mabey는 동일한 출력 코드를 사용할 수 있지만 그 사이트에서는 단일 테이블의 뉴스 만 제공합니다.

    나는 UNION, LEFT JOIN, FULL JOIN 등을 읽었습니다. 그러나 나는 그것을 얻지 못했습니다.

    <?php 
           $result = mysql_query("SELECT * FROM cupname ORDER BY id DESC"); 
           $result = mysql_query("SELECT * FROM teams ORDER BY id DESC"); 
           $result = mysql_query("SELECT * FROM wins ORDER BY id DESC"); 
           $result = mysql_query("SELECT * FROM draws ORDER BY id DESC"); 
           $result = mysql_query("SELECT * FROM looses ORDER BY id DESC"); 
           $result = mysql_query("SELECT * FROM points ORDER BY id DESC"); 
            while($row = mysql_fetch_array($result)) { 
             $i=$i + 1; 
             echo "<table>"; 
             echo "<tr>"; 
             echo $row['name']; 
             echo "</tr>"; 
             echo "<tr><td><b>Lag</b></td> 
             <td><b>Seiere</b></td> 
             <td><b>Uavgjort</b></td> 
             <td><b>Tap</b></td> 
             <td><b>Poeng</b></td> 
             </tr><tr><td>"; 
             echo $row['team1']; 
             echo "</td><td>"; 
             echo $row['team1w']; 
             echo "</td><td>"; 
             echo $row['team1d']; 
             echo "</td><td>"; 
             echo $row['team1l']; 
             echo "</td><td>"; 
             echo $row['team1p']; 
             echo "</td></tr><tr><td>"; 
             echo $row['team2']; 
             echo "</td><td>"; 
             echo $row['team2w']; 
             echo "</td><td>"; 
             echo $row['team2d']; 
             echo "</td><td>"; 
             echo $row['team2l']; 
             echo "</td><td>"; 
             echo $row['team2p']; 
             echo "</td></tr><tr><td>"; 
             echo $row['team3']; 
             echo "</td><td>"; 
             echo $row['team3w']; 
             echo "</td><td>"; 
             echo $row['team3d']; 
             echo "</td><td>"; 
             echo $row['team3l']; 
             echo "</td><td>"; 
             echo $row['team3p']; 
             echo "</td></tr><tr><td>"; 
             echo $row['team4']; 
             echo "</td><td>"; 
             echo $row['team4w']; 
             echo "</td><td>"; 
             echo $row['team4d']; 
             echo "</td><td>"; 
             echo $row['team4l']; 
             echo "</td><td>"; 
             echo $row['team1p']; 
             echo "</td></tr></table><br /><hr /><br />"; 
            } 
           ?> 
    

    누구나 내가 할 것이다 무엇의 어떤 아이디어를 가지고, 또는하지 :

    여기 내 "출력"코드?

    답변 해 주셔서 감사합니다.

    편집 : 난 그냥 이걸로 빈 테이블의 출력을 얻을! 포인트 만 출력되고 0은 출력됩니다.

  • +4

    정말 단일 쿼리에서 테이블을 조인하는 방법을 배워야합니다. 이 정확한 종류의 질문을 돕기 위해 다소 긴 [질문 및 답변] (http://stackoverflow.com/questions/12475850/how-can-an-sql-query-return-data-from-multiple-tables)을 썼습니다. - 네가 읽는게 정말 도움이 될 것 같아. – Fluffeh

    +0

    그건 이상한 * * 플러퍼이야! 지금 당장 링크를 받아 보면서 "도움이 필요한"다른 사람들에게 더 가까이 다가 갈 것입니다. – Havelock

    +0

    그리고 그 외에 데이터베이스를 처음부터 다시 디자인하십시오. 디자인에 결함이 있습니다. 예를 들어 http://en.wikipedia.org/wiki/Database_normalization을 참조하십시오. 토너먼트를 8 명의 플레이어로 확장하려는 개미가 있다면, 어떻게해야합니까? 그것은 1 천만 명의 플레이어가 무엇입니까? 나는 일어날 수 없다는 것을 압니다. –

    답변

    0

    테이블을 가입해야합니다. 귀하의 질문에, 그것은 당신이 이미 정렬 테이블의 관계 섹션을 가지고있는 것 같아요 (나는 완전히 그걸 잘 따라갈 수는 없지만) 실제로 사용하는 조인의 슬픔에 대한 질문입니다 :

    내부 조인 - 이것은 단지 데이터가 모든 테이블에 일치하는 레코드를 반환합니다 그래서

    select 
        tourn.id, 
        tourn.name 
    from 
        tournament 
         join teams team 
          on tourn.id=team.id 
         join wins win 
          on tourn.id=win.id 
    

    과에 (내가 그 대회를 가정하고있다.

    select 
        tourn.id, 
        tourn.name 
    from 
        tournament 
         right outer join teams team 
          on tourn.id=team.id 
         right outer join wins win 
          on tourn.id=win.id 
    
    : ID는 다른 사람에 일치하는 행이 있는지 여부를 귀하의 첫 번째 테이블에서 행을 반환하는, 외부 조인로 변경할 수 있습니다, 지금은 다른 사람과 관련있는 열)

    입니다

    나는이 대답에서 내가 여기서 쓴 글 Q&A에서 그것을 설명하는 어떤면에서도 더 많이 설명 할 수 있다는 것을 완전히 확신 할 수는 없다. 이 답변이 의미가 있습니까?

    +0

    어, 시도 할게요하지만 더 잘 설명하려고 할 수 있습니다! 모든 신분증은 하나의 토너먼트와 일치합니다. 챔피언스 리그 (cupname), FC 바르셀로나 (0Win0Draw0Lose0Points), 맨 U (0W0D0L0P), 맨 C (0W0D0L0P), 로젠보리 BK (0W0D0L0P) ... 그래서 모든 이름은 ID = 1, 모든 0은 ID = 1입니다. 그래서 우승 업데이트, 무승부, ID에 루즈와 포인트 = 1. 하나의 데이터를 모두 출력해야합니다.

    .. 그리고 그것을보십시오. 그게 무슨 말이야? – kongebra

    +0

    @Fluffeh 데이터베이스 구조가 올바른 형식이라고 생각하십니까? – FirmView

    +0

    나는 지금 모든 것을 하나의 테이블에 넣었습니다. 그래서 지금 시도 할 것입니다! 도움을 주신 모든 분들께 감사드립니다. D – kongebra