2012-03-06 5 views
0

다음 작업을 수행하고 싶습니다. 사용자가 이미 두 번째 테이블에 있는지 확인하십시오. 사용자가 있다면 에코를 다시 얻습니다. 사용자가 데이터베이스에 있거나 데이터베이스에없는 경우 테이블에 값을 추가해야합니다. 현재로서는 올바른 일을하는 것처럼 보이지만 사용자 옆에있는 값은 변경되지 않습니다.동일한 값을 가진 두 테이블 확인 (그리고 체크 표시 추가)

<?php 

$DB_HostName = "localhost"; 
$DB_Name = "db"; 
$DB_User = "user"; 
$DB_Pass = "pw"; 
$DB_Table = "connection"; 
$DB_Table2 = "contacts"; 

$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die (mysql_error()); 
mysql_select_db($DB_Name,$con) or die(mysql_error()); 

$query = "SELECT User FROM $DB_Table left join $DB_Table2 on User = Number"; 

if ($result) { 

    if (mysql_num_rows($result) > 0) { 

echo "This user is already in database"; 
mysql_query("INSERT INTO $DB_Table2 (Answer) 
VALUES ('http://myserver/thumbsup.png')");   
} 
else { 
echo "This user isn't in the database"; 
mysql_query("INSERT INTO $DB_Table2 (Answer) 
VALUES ('http://myserver/thumbsdown.png')");  
} 
} 
mysql_close($con); 

?> 
+1

첫 번째 쿼리에서'$ table_id'와'$ table_id2'를'$ DB_Table'과'$ DB_Table2'로해야합니까? –

+0

'$ table_id'와'$ table_id2'는 정의되지 않았습니까? – MrCode

+0

모든 사용자에게'http : // myserver/thumbsdown.png'를 추가하는 것은 공간과 자원 낭비처럼 보입니다. – MMM

답변

1

코드를 볼 때 여기에서하려는 것을보기가 어렵습니다. 어쨌든, 나는 당신이 어느 사용자를 당신이 테이블에서 찾고 있는지 확인해야한다고 생각하지. 당신이 사용자에게 어떤 방식으로 인증하고 사용자의 ID 번호는 '사용자 ID'라는 세션 변수에있는 경우

$query = "SELECT User FROM $table_id left join $table_id2 on User = Number"; 

더 같은

$query = "SELECT User FROM $DB_Table left join $DB_Table2 on User = Number where $DB_Table.User = " . $_SESSION['userid']; 

을해야합니다. 다른 모든 키에 기본값을 사용하여 두 번째 테이블에 대한 링크를 추가하기 때문에 명확하게 이해할 수 없습니다.

+0

먼저 귀하의 의견에 감사드립니다. 문제를 해결하려면 DB_Table2 및 하나에 사용자 항목이 있는지 확인하려고합니다. 이 경우 엄지 손가락을 얻을 수 있습니다. 그렇지 않다면 엄지 손가락을 내립니다. – Blade

관련 문제