2

我很困惑,这就是我所拥有的。

两张桌子,一张是临时的,一张是永久的。

 table  Temptable:   
 city , state          //- has a list of 20 citys and states

 table  Permtable: 
  city , state          //- has hundreds of citys and states

我想做两件事:

  1. 我想使用 Temptable 中的城市和州并查询 Permtable 以查看它是否已经包含该城市和州。如果不是,我希望它添加它。

  2. 如果它在城市和州有匹配,我希望它播放 c:\sound.wav 然后我希望它添加到

允许的。

我不知道如何做到这一点。

4

2 回答 2

2

这将告诉您 TempTable 中存在或不存在哪些记录:

SELECT T.City, T.State, CASE WHEN P.State IS NULL THEN 'DOES NOT EXIST' ELSE 'DOES EXIST' END
FROM TempTable T
   LEFT JOIN PermTable P ON T.City = P.City AND T.STate = P.State

您可以像这样插入 PermTable 中不存在的那些记录:

INSERT INTO PermTable
SELECT T.City, T.State
FROM TempTable T
   LEFT JOIN PermTable P ON T.City = P.City AND T.STate = P.State
WHERE P.State IS NULL

不确定您播放声音的要求,然后添加它没有意义(因为它已经存在)。

于 2013-02-12T00:43:25.030 回答
0

由于这里没有要运行的代码,请查询 temptable 的城市和州,然后查询 SELECT COUNT(id) FROM permtable WHERE city='$tempcity' AND state='$tempstate'。

然后在您的查询中使用 mysqli_num_rows 以查看是否找到任何匹配项。

$q= "SELECT COUNT(*) FROM temptable WHERE city='$tempcity' AND state='$tempstate'";
$r = @mysqli_query($dbc, $q);

if(mysqli_num_rows($r) != 0) {
echo "<embed src =\"sound.wav\" hidden=\"true\" autostart=\"true\"></embed>";
}
else { 
//Do your other stuff.
}

这真的取决于你如何设置你的桌子。如果您有“州”列和“城市”列,其中“城市”类似于“达拉斯-奥斯汀-胡斯廷-圣安东尼奥”,那么您将不得不查询“州”,将“城市”的值分解为一个数组,运行一段时间以检查数组中的 $tempcity,如下所示:

$q = "SELECT city FROM permtable WHERE state='$tempstate'";
$r = @mysqli_query($dbc, $q);
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);

if (mysqli_num_rows($r) == 1) { //STATE MATCH

$cityCheck = explode("-", $row['city']);
$i = 0;
$count = count($cityCheck);
$goodMatch = 0;

while ($i < $count) { //find out if user already voted on post
if ($cityCheck[$i] == $tempcity) { 
$goodMatch = 1;
} //City State match
else { } //City does not match with state, continue while loop.
$i++;
} //END WHILE

else { } //STATE DID NOT MATCH

if ($goodmatch) {
echo "<embed src =\"sound.wav\" hidden=\"true\" autostart=\"true\"></embed>";
}
else {}
于 2013-02-12T01:02:30.417 回答