2012-11-27 3 views
1

mysql에 두 개의 테이블이 있습니다. 다음은 제 스크립트입니다. 일치하는 경우 두 테이블의 데이터가 일치합니다. 이름과 msg를 표시합니다.

<?php 
$conn=mysql_connect("localhost",'root',''); 
mysql_select_db('test'); 

$sql = "SELECT data_student.name,ozekimessagein.msg 
      FROM ozekimessagein,data_student 
      WHERE ozekimessagein.sender=data_student.sender 
      ORDER BY ozekimessagein.msg"; 

$res=mysql_query($sql); 
$cn=mysql_num_rows($res); 
for($x=0;$x<$cn;$x++) 
{ 
    list($name,$msg)=mysql_fetch_row($res); 
    echo "<li>$name,$msg"; 
} 
mysql_close($conn); 
?> 

data_student 테이블의 이름과 같은 긴 ozekimessagein 테이블 송신자와 data_student 테이블 매치에서 송신자 ozekimessagein 등의 메시지를 표시한다. 그러나 그것은 효과가 없습니다.

+0

을 시도하십시오 :이 [? 내가 PHP에서 mysql_로 * 기능을 사용하지 말아야하는 이유 (http://stackoverflow.com을 확인/questions/12859942/why-shouldnt-i-use-mysql-function-in-php) – nu6A

답변

0

이 ::

SELECT 

data_student.name, 
ozekimessagein.msg 

FROM ozekimessagein 
inner join data_student  on ozekimessagein.sender=data_student.sender 

ORDER BY ozekimessagein.msg 
+0

나는 이미 그런 코드를 시도하고있다. . 그것은 예를 들어 shpuld를 표시합니다. ** Name ** : Message. 하지만이 매개 변수는 data_student 테이블에서 보낸 테이블과 일치하는 테이블에서 보낸 사람만큼 다른 테이블에서 가져올 수 있습니다. –

0

이 주제 끄기이

<?php 
    $conn=mysql_connect('localhost','root',''); 
    mysql_select_db('test'); 

$sql = " 

    SELECT s.name AS names, o.msg AS msgs 
    FROM ozekimessagein o 
    INNER JOIN data_student s 
    ON o.sender = s.sender 
    ORDER BY s.name"; 

    $res=mysql_query($sql); 

    while ($row = mysql_fetch_assoc($res)) { 

echo "<li>".$row['names']." : ".$row['msgs']."</li>"; 
    } 
    mysql_close($conn); 
    ?> 
+0

이 업데이트되었습니다. –

+0

나는 코드를 시험해 보았습니다. 브라우저에는 아무 것도 표시되지 않습니다. –

+0

이것을 top으로 만들고 어떤 에러 U가'ini_set ('display_errors', 1); error_reporting (E_ALL);' –

관련 문제