Regler for data fra MySQL til PHP
Hej eksperter...Jeg er ved at lave et HOT-or-NOT system. Jeg har følgende tabeller:
fan_hotnot
fan_hotnot_votes
Jeg har i tabellen 'fan_hotnot' et billede og en billedtekst der skal vises på afstemningssiden. Men det billede der vises må ikke være uploadet af den der skal til at stemme (altså den session der er igang) og hvis brugeren i sessionen har stemt på billedet før, skal det heller ikke vises.
Jeg har derfor gfølgende felter:
fan_hotnot
[id]
[brugerid] - id på den bruger der har uploadet billedet
[brugernavn] - navn på den bruger der har uploadet billedet
[billednavn] - navnet på billedet i folderen på serveren
[billedtekst] - en fri billedtekst som brugeren kan skrive
[votes] - det samlede antal votes billedet har fået
fan_hotnot_votes
[id]
[hotnotid] - svarer til det id på det pågældende billede
[voter] - den person der stemte (tages fra sessionen)
[brugerid] - den person der stemte (tages fra sessionconnection)
[votes] - det antal point brugeren gav
Jeg skal nu have lavet en SQL-regel der siger at:
Billedet der vises ikke må være:
- uploadet af den online bruger (brugernavnet i sessionen)
- optræde i en post i tabellen 'fan_hotnot_votes', hvor det respektive billede fra 'fan_hotnot' og brugernavnet fra sessionen, er sammen.
Jeg håber det gav mening?!?
Her er lidt kode:
<?php require_once('../Connections/tvduno.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "voting")) {
$insertSQL = sprintf("INSERT INTO fan_hotnot_votes (hotnotid, brugerid, votes) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['hidden_id'], "text"),
GetSQLValueString($_POST['voted'], "text"),
GetSQLValueString($_POST['votes'], "text"));
mysql_select_db($database_tvduno, $tvduno);
$Result1 = mysql_query($insertSQL, $tvduno) or die(mysql_error());
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "voting")) {
$updateSQL = sprintf("UPDATE fan_hotnot SET votes=%s WHERE id=%s",
GetSQLValueString($_POST['votes'], "text"),
GetSQLValueString($_POST['hidden_id'], "int"));
mysql_select_db($database_tvduno, $tvduno);
$Result1 = mysql_query($updateSQL, $tvduno) or die(mysql_error());
}
session_start(); ?>
<?php
$colname_rsBruger = "1";
if (isset($_SESSION['brugernavn'])) {
$colname_rsBruger = (get_magic_quotes_gpc()) ? $_SESSION['brugernavn'] : addslashes($_SESSION['brugernavn']);
}
mysql_select_db($database_tvduno, $tvduno);
$query_rsBruger = sprintf("SELECT * FROM fan_brugere WHERE brugernavn = '%s'", $colname_rsBruger);
$rsBruger = mysql_query($query_rsBruger, $tvduno) or die(mysql_error());
$row_rsBruger = mysql_fetch_assoc($rsBruger);
$totalRows_rsBruger = mysql_num_rows($rsBruger);
$colname_rsBillede = "1";
if (isset($_POST['voted'])) {
$colname_rsBillede = (get_magic_quotes_gpc()) ? $_POST['voted'] : addslashes($_POST['voted']);
}
mysql_select_db($database_tvduno, $tvduno);
$query_rsBillede = sprintf("SELECT * FROM fan_hotnot WHERE id <> %s ORDER BY id ASC", $colname_rsBillede);
$rsBillede = mysql_query($query_rsBillede, $tvduno) or die(mysql_error());
$row_rsBillede = mysql_fetch_assoc($rsBillede);
$totalRows_rsBillede = mysql_num_rows($rsBillede);
$colname_rsVoted = "1";
if (isset($_SESSION['brugernavn'])) {
$colname_rsVoted = (get_magic_quotes_gpc()) ? $_SESSION['brugernavn'] : addslashes($_SESSION['brugernavn']);
}
mysql_select_db($database_tvduno, $tvduno);
$query_rsVoted = sprintf("SELECT * FROM fan_hotnot_votes WHERE voter <> '%s'", $colname_rsVoted);
$rsVoted = mysql_query($query_rsVoted, $tvduno) or die(mysql_error());
$row_rsVoted = mysql_fetch_assoc($rsVoted);
$totalRows_rsVoted = mysql_num_rows($rsVoted);
?>
<?php require_once('../Connections/tvduno.php'); ?>
