Jump to content

Is the fault with the Jquery?


hoponhiggo

Recommended Posts

Hi Guys

 

I know nothing about javaScript, but im trying to ammend somebody else's script to work with mine, but its not working an i think it may be down to the JavaScript.

 

Would somebody mind taking a loook and see if they can spot an error?

 

Basicaly, it is a rating system with 3 files. The first file (gamecard.php) contains a link to the other two files...Either 'Up.php' or 'Down.php'. When a user clicks on one of the links, the number will should increase by one. However, at the minute, the number disapears and doesnt refresh or store in the db

 

The 3 peices of code are:

 

Gamecard.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Voting with jQuery, Ajax and PHP</title>
<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">
$(function() {

$(".vote").click(function() 
{

var id = $(this).attr("id");
var name = $(this).attr("name");
var dataString = 'id='+ id ;
var parent = $(this);


if(name=='up')
{

$(this).fadeIn(200).html('<img src="dot.gif" align="absmiddle">');
$.ajax({
   type: "POST",
   url: "up_vote.php",
   data: dataString,
   cache: false,

   success: function(html)
   {
    parent.html(html);
  
  }  });
  
}
else
{

$(this).fadeIn(200).html('<img src="dot.gif" align="absmiddle">');
$.ajax({
   type: "POST",
   url: "down_vote.php",
   data: dataString,
   cache: false,

   success: function(html)
   {
       parent.html(html);
  }
   
});


}
  
  
   


return false;
});

});
</script>
</head>
<?php

//get results from db

if (isset($_GET['gameid']) && is_numeric($_GET['gameid'])) {
$gameid = mysql_real_escape_string($_GET['gameid']);
$sql = "SELECT * FROM Games WHERE gameid = $gameid";
$res = mysql_query($sql);
$data = mysql_fetch_assoc($res);

// However you'd like to format the html to output
$title=$data['gametitle'];
$cover=$data['cover'];
$gameid=$data['gameid'];
$info=$data['info'];
$genre=$data['genre'];
$rdate=$data['releasedate'];
$format=$data['format'];
$dir1="coverart";
$reviews="Enter Reviews Here";
date("d/m/y",$rdate);

echo "<div id='cardcontainer_full'>
<div id='coverart'><img src='$dir1/{$cover}' width='100' height='140'><br></div>

<div id='gametitle'>$title</div>

<div id='features'>Genre: $genre<br><br>
Release Date: $rdate<br><br>
Available for: $format<br><br>
</div>

<div id='gameinfo'><div style='font-weight:bold'>Summary</div><br>$info
<p><div style='font-weight:bold'>Reviews</div><p>$reviews
</div>

</div>";

} else {

$data = '';

if(isset($_GET['filter']) && $_GET['filter'] != ''){
$filter = $_GET['filter']."%";
}else{
// set A as default
$filter = "a%";
}

$sql = "SELECT * FROM Games WHERE gametitle LIKE '$filter' ORDER BY gametitle";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($res) == 0) die("No records found");

// loop through the results returned by your query
while($data = mysql_fetch_assoc($res))
{
    $title=$data['gametitle'];
$cover=$data['cover'];
$gameid=$data['gameid'];
$up=$data['up'];
$down=$data['down'];

// directory for images
$dir="coverart";
?>



<div id="cardcontainer">

<div id="coverart">
<?php echo "<img src='$dir/{$cover}' width='100' height='140'><br>"; ?>
</div>
<div id="gametitle">
<a href="Reviews.php?gameid=<?php echo $gameid ?>"><?php echo $title ?></a>
</div>
<div id="up"><a href="" class="vote" id="<?php echo $gameid; ?>" name="up"><?php echo $up; ?></a></div>
<div id="down"><a href="" class="vote" id="<?php echo $gameid; ?>" name="down"><?php echo $down; ?></a></div>

</div>
<br />
<?php
}
}
?>

 

up.php

<?php
include("config.php");

$ip=$_SERVER['REMOTE_ADDR']; 

if($_POST['id'])
{
$id=$_POST['id'];
$id = mysql_escape_String($id);

$ip_sql=mysql_query("select ip_add from Voting_IP where mes_id_fk='$id' and ip_add='$ip'");
$count=mysql_num_rows($ip_sql);

if($count==0)
{
$sql = "update Games set up=up+1  where gameid='$id'";
mysql_query( $sql);

$sql_in = "insert into Games (mes_id_fk,ip_add) values ('$id','$ip')";
mysql_query( $sql_in);



}
else
{
}

$result=mysql_query("select up from Games where gameid='$id'");
$row=mysql_fetch_array($result);
$up_value=$row['up'];
echo $up_value;
}
?>

 

down.php

<?php
include("config.php");

$ip=$_SERVER['REMOTE_ADDR']; 

if($_POST['id'])
{
$id=$_POST['id'];
$id = mysql_escape_String($id);

$ip_sql=mysql_query("select ip_add from Voting_IP where mes_id_fk='$id' and ip_add='$ip'");
$count=mysql_num_rows($ip_sql);

if($count==0)
{
$sql = "update Games set down=down+1  where gameid='$id'";
mysql_query( $sql);

$sql_in = "insert into Voting_IP (mes_id_fk,ip_add) values ('$id','$ip')";
mysql_query( $sql_in);



}
else
{

}

$result=mysql_query("select down from Games where gameid='$id'");
$row=mysql_fetch_array($result);
$down_value=$row['down'];
echo $down_value;

}
?>

 

The error may very well be in the php but im not so sure. Your help will be appreciated

Link to comment
https://forums.phpfreaks.com/topic/247342-is-the-fault-with-the-jquery/
Share on other sites

UPDATE: I have found that this works when i try to use it through the absolute path (www..../..../gamecards.php)

 

It is not working when i try to use it through www....../reviews.php which gamecards.php is an include of.

 

Does anybody have any idea why?

 

Thanks

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.