2013-01-20 5 views
0

둘러 보았고 다음에 대한 답을 찾을 수 없습니다.쿼리의 다른 테이블에 값이 없는지 확인합니다.

원하는 것은 SQL select 문을 실행하는 것입니다.

$query = mysql_query("SELECT `ordate`, `invno` FROM `armast09` WHERE cshipno = '$username' AND `ordate` > DATE_SUB(CURDATE(), INTERVAL 4 DAY)") or die(header("location:index.php?e=4")); 
$numrows = mysql_num_rows($query); 

$date = date('o-n-d'); 

include 'indexfiles/top.php'; 

    echo "The following deliveries are available for viewing/dispute:"; 
    echo "<br />"; 
    echo "<br />"; 
    echo "<center>"; 
    echo "<table>"; 
     if($numrows != 0) {     
      while ($info = mysql_fetch_array($query)) { 
       echo "<tr>";        
        echo "<form action = \"deliverydispute.php?invno=".$info['invno']."\" method=\"POST\ onsubmit=\"return confirm('Are you sure you are ready to dispute? You can't go back after this.');\">"; 
         echo "<td><b>Invoice Number: </b>".$info['invno']."</td>"; 
         echo "<td><b>Order Date: </b>".$info['ordate']."</td>";         
         echo "<td><a href = \"deliverydispute.php?invno=".$info['invno']."&&ordate=".$info['ordate']."\">Dispute</a></td>"; 
        echo "</form>";       
       echo "</tr>"; 
      } 
     } else { 
      echo ("<font color=\"red\" face=\"arial\" size=\"2\"><small>No orders are currently available for viewing.</small></font>"); 
     } 
    echo "</table>"; 
+0

mysql 확장을 사용하면 안됩니다. 이유와 대안은 http://php.net/en/mysql-connect – KingCrunch

답변

1

당신은 NOT IN 술어를 사용하여 다음과 같이 코드는 순간에 사용자 무엇인가 (이 경우 고유 ID) 송장 번호를 제공하는 동일한 데이터베이스의 다른 테이블에 표시되지 않습니다, 보여 :

SELECT ordate, invno 
FROM armast09 
WHERE cshipno = '$username' 
    AND ordate > DATE_SUB(CURDATE(), INTERVAL 4 DAY) 
    AND invno NOT IN(SELECT invno FROM Anothertable WHERE invno IS NOT NULL); 

또는 LEFT JOIN : 다음으로이 easiy을 할 수

SELECT a.ordate, a.invno 
FROM armast09 a 
LEFT JOIN anothertable a2 ON a.invno = a2.invno 
WHERE a.cshipno = '$username' 
    AND a.ordate > DATE_SUB(CURDATE(), INTERVAL 4 DAY) 
    AND a.invno IS NULL; 
+0

에서 찾아 주셔서 감사합니다. 모두 고쳐! –

+0

@HenryPye - 당신은 환영합니다. 다행스럽게도 도움이 될 수 있습니다. –

0

: 그것을해야

SELECT X FROM TABLEA LEFT JOIN TABLEB ON TABLEA.ID = TABLEB.ID WHERE TABLEB.ID is null 

을!

관련 문제