我很困惑,这就是我所拥有的。
两个表,一个是临时的,一个是永久的。
table Temptable:
city , state //- has a list of 20 citys and states
table Permtable:
city , state //- has hundreds of citys and states
我想做两件事:
我想从Temptable中使用city和state,并查询Permtable以查看它是否已包含 那个城市和州。如果不是,我希望它添加它。
如果它在城市和州有匹配,我希望它播放c:\ sound.wav然后我想将它添加到
permtable。
我迷失了如何做到这一点。
答案 0 :(得分: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
不确定您是否需要播放声音,然后添加它就没有意义(因为它已经存在)。
答案 1 :(得分:0)
由于我们没有在这里运行的代码,查询城市和州的临时表,然后查询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.
}
这实际上取决于你如何设置表格。如果您有列'State'和列'City',其中'City'就像'Dallas-Austin-Houstin-San Antonio'那么您将不得不查询'State',将'City'的值分解为数组,运行一段时间检查数组中的$ 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 {}