Page 1 sur 1

Recharger une partie de page

Posté : 25 nov. 2014, 20:14
par cris84
Bonjour,
voilà j'ai un script php pour voter un article. Je souhaiterai que quand l'utilisateur effectue un vote, la page ne se recharge pas entièrement.
Je voudrais donc recharger uniquement cette partie de page, la partie qui contient le vote.
J'utilise sur mon code une include.

Merci d'avance de votre aide... :wink:

Le code de ma page qui contient l'include :
<?php
 include('vote/fonction-vote.php');
			notation($_GET['id'],$ip_vote); 
include("conf.inc.php");
$sql = ("SELECT * FROM video WHERE id = ".$_GET['id']);
$result = mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_assoc($result);

?>

<link rel="stylesheet" type="text/css" href="css/page.css" />
<script src="http://jwpsrv.com/library/ChWG9mQFEeSi9woORWfmyA.js"></script>
<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="BK74xHYHnbkEoe3ar2XiBnxIw7gxSe4eNTSGgg==";</script>
<center> Vous regardez : <?php echo $row['title']; ?></center><br />
<div id="myElement">Loading the player...</div>
<script type="text/javascript">
    jwplayer("myElement").setup({
        file: "<?php echo $row['url']; ?>",
        image: "http://example.com/uploads/myPoster.jpg",
        width: 640,
        height: 360,
		 autostart: true,
      mute: true
    });
</script> ?>
Le code de l'include :
<?php
function getIp()
	{
		if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
		{
			$ip_vote = $_SERVER['HTTP_X_FORWARDED_FOR'];
		}
		elseif(isset($_SERVER['HTTP_CLIENT_IP']))
		{
			$ip_vote = $_SERVER['HTTP_CLIENT_IP'];
		}
		else
		{
			$ip_vote = $_SERVER['REMOTE_ADDR'];
		}
		return $ip_vote;
	}
	
	$ip_vote = getIp();
	
	
	mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
	
	mysql_select_db("$nom_de_la_base")  or die ('Erreur :'.mysql_error());
	
	
	function notation($id_vote,$ip_vote){
		
		
		$deja_voter = mysql_query("SELECT ip FROM note WHERE ip = '".mysql_real_escape_string($ip_vote)."' AND id_page = '".mysql_real_escape_string($id_vote)."'");
		
	
		if(mysql_num_rows($deja_voter) == 0)
		{
			echo '<div class="hero-unit-stat"><form name="monform" id="monform" method="post">
			<label>Noter cet article</label>
			<select name="note" onchange="javascript:submit(this)">
			<option value="">Note</option>
			<option value="0">0</option>
			<option value="1">1</option>
			<option value="2">2</option>
			<option value="3">3</option>
			<option value="4">4</option>
			<option value="5">5</option>
			<option value="6">6</option>
			<option value="7">7</option>
			<option value="8">8</option>
			<option value="9">9</option>
			<option value="10">10</option>
			</select>
			</form>';
		}   
		
		
		if(isset($_POST['note']) && $_POST['note'] != NULL){
			
			if(isset($_COOKIE["deja_voter"]) && $_COOKIE["deja_voter"] == $id_vote){
				die ("Un seul vote autoris&eacute; ... merci!");
			}
			
			$note = $_POST['note'];
			
			$insert = mysql_query("INSERT INTO note VALUES ( '', '".mysql_real_escape_string($id_vote)."', '".mysql_real_escape_string($note)."', '".mysql_real_escape_string($ip_vote)."' ) ");
			
			if(!$insert) {
				die('Requ&ecirc;te invalide : ' . mysql_error());
			}
			
			else{
				
				setcookie('deja_voter',$id_vote,(time() + 20));
				
				echo 'Merci d\'avoir not&eacute; <br/>
				Chargement en cours <img alt="Loading" src="vote/images-vote/loading.gif" style="width:18px;height:18px;"/>
				<script type="text/javascript">
				document.getElementById("monform").innerHTML = "";
				window.setTimeout(function(){self.location.href="'.$_SERVER['REQUEST_URI'].'";},3000);
				</script>';
			}
		}
		
		
		$nombre_vote = mysql_query("SELECT id FROM note WHERE id_page = '".mysql_real_escape_string($id_vote)."'");
		$total_vote = mysql_num_rows($nombre_vote);
		if($total_vote != 0){
			echo '<div class="hero-unit-stat">Nombre de vote : '.$total_vote.'<br/>';
		}
		
		
		$calcul_vote = mysql_query("SELECT SUM(note) AS totalmoyenne FROM note WHERE id_page = '".mysql_real_escape_string($id_vote)."'");
		$data = mysql_fetch_array($calcul_vote);
		$total_calcul_vote = $data['totalmoyenne'];
		if($total_calcul_vote != 0){
			echo 'Total des votes : '.$total_calcul_vote.'<br/>';   
		}
		
		
		if($total_vote != NULL && $total_calcul_vote != NULL){
			$moyenne = number_format($total_calcul_vote/$total_vote, 2, ',', '');
			
			echo 'Note : '.str_replace(',00','',$moyenne).'/10 ';
			
			for($i=1; $i<=$moyenne;$i++){
				echo '<img alt="'.$i.'" src="vote/images-vote/etoile.png" align="absmiddle" style="width:12px;height:12px;"/>';
			}
		}
		else{
			echo 'Aucun vote pour le moment.</div>';
		}
	}
?>

Re: Recharger une partie de page

Posté : 26 nov. 2014, 12:57
par Megadeth
Salut cris84,

Je te mets sur une piste à savoir "Ajax" qui te permet de recharger, interroger, bref interagir sans avoir à recharger ta page.

http://www.xul.fr/xml-ajax.html

Mega
;)