私がやっていることは、誰かが「ページ」に投票したときの投票をカウントすることです。私は自分がメンバーの票決を追跡する方法を見つけようとしていないと思っています。メンバーが投票したときにそのコードを伝えることはできません。投票を追跡し、メンバー1人につき1票しか許可しない
//Generate code ID
$useXID = intval($_GET['id']);
$useXrank = $_GET['rank'];
//if($useXrank!=null && $useXID!=null) {
$rankcheck = mysql_query('SELECT member_id,code_id FROM code_votes WHERE member_id="'.$_MEMBERINFO_ID.'" AND WHERE code_id="'.$useXID.'"');
if(!mysql_fetch_array($rankcheck) && $useXrank=="up"){
$rankset = mysql_query('SELECT * FROM code_votes WHERE member_id="'.$_MEMBERINFO_ID.'"');
$ranksetfetch = mysql_fetch_array($rankset);
$rankit = htmlentities($ranksetfetch['ranking']);
$rankit+="1";
mysql_query("INSERT INTO code_votes (member_id,code_id) VALUES ('$_MEMBERINFO_ID','$useXID')") or die(mysql_error());
mysql_query("UPDATE code SET ranking = '".$rankit."' WHERE ID = '".$useXID."'");
}
elseif(!mysql_fetch_array($rankcheck) && $useXrank=="down"){
$rankset = mysql_query('SELECT * FROM code_votes WHERE member_id="'.$_MEMBERINFO_ID.'"');
$ranksetfetch = mysql_fetch_array($rankset);
$rankit = htmlentities($ranksetfetch['ranking']);
$rankit-="1";
mysql_query("INSERT INTO code_votes (member_id,code_id) VALUES ('$_MEMBERINFO_ID','$useXID')") or die(mysql_error());
mysql_query("UPDATE code SET ranking = '".$rankit."' WHERE ID = '".$useXID."'");
}
// hide vote links since already voted
elseif(mysql_fetch_array($rankcheck)){$voted="true";}
//}
重複するコードの量と* RAW SQL QUERIES *は泣きたいです。 SQL DQL(データ問合せ言語)から一歩踏み出し、最初に構造と関係を記述します。テーブルとは何ですか?どのように関係していますか?例えば。 'code_votes'テーブルの制限は何ですか?これに 'code'はどのようにして入りますか?トランザクション/ ACIDはどのように処理されますか? –