Optimering af sql-sætning til forum.
Jeg har den her kode.. som skal updater nogle brugernavne i (forumm = forum message) til sidst..Ja det er lidt svært at forklar.. men iden er at den kun skal køre ..INSERT INTO forumm.. hvis de IKKE er i forumm.
ved ikke om det kan optimeres bedre..
<?php
/* forumq = forum question */
$sqlResult = mysql_query("SELECT id, username FROM forumq WHERE id=$_GET[qid];", $sqlConn);
if ($sqlResult) {
while (list($id, $username) = mysql_fetch_row($sqlResult)) {
/* Indsætter brugernavn så det kun er der én gang. */
$arrUsername[$username] = $id;
}
}
/* forumc = forum comment */
$sqlResult = mysql_query("SELECT qid, username FROM forumc WHERE qid=$_GET[qid];", $sqlConn);
if ($sqlResult) {
while (list($qid, $username) = mysql_fetch_row($sqlResult)) {
/* Indsætter brugernavn så det kun er der én gang. */
$arrUsername[$username] = $qid;
}
}
/* forumm = forum message */
$sqlResult = mysql_query("SELECT qid FROM forumm WHERE qid=$_GET[qid];", $sqlConn);
if ($sqlResult) {
while (list($qid) = mysql_fetch_row($sqlResult)) {
/* Fjerner de brugernavne som er i forumm (forum message). */
unset($arrUsername[$username]);
}
}
/* Hvis der ellers er nogle tilbage (så må det være en ny bruger) bliver de tilføjet her. */
if (is_array($arrUsername)) {
foreach($arrUsername as $username => $qid) {
mysql_query("INSERT INTO forumm (qid, dato, username) VALUES ($qid, ".time().", '$username');", $sqlConn);
}
unset($arrUsername);
}
?>
