[AJAX] Rafraichir un DIV apres insertion dans BDD
Bonjour,
J'ai récupéré un script qui fonctionne très bien.
Le voici:
Page principale composée de 2 DIV
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <div id='mini_tableau'>
<ul>
<?php
$query = "SELECT id_club, club, championnat FROM ".$_PRE."clubs WHERE championnat = '".$_GET['championnat']."' ORDER BY championnat, club";
$result = mysql_query($query) or die('Erreur SQL !'.$sql.''.mysql_error());
while($row = mysql_fetch_array($result))
{
?>
<div id="insert_response"></div>
<li style="list-style:none;"><input type="checkbox" name="checkbox[]" value="<?php echo $row['club'];?>" <?php if($club=='1'){ echo "checked=\"true\""; }?> onclick="javascript:return insert('<?php echo $row['club'];?>','<?php echo $row['id_club'];?>','<?php echo $row['championnat'];?>','<?php echo $_PRE;?>');"><?php echo $row['club'];?></li>
<?php } ?>
</ul>
</div>
<div id='ligue'>
<p class='rouge'>Clubs du championnat de Ligue <?php echo $_GET['championnat']; ?></p>
<?php
require_once('config/config.inc.php');
$query = "SELECT club FROM ".$_PRE."".$_GET['championnat']."classement ORDER BY club";
$result = mysql_query($query) or die('Erreur SQL !'.$sql.''.mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row['club'];
echo "<br>";
}
?>
</div> |
Le code AJAX
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}
var http = createObject();
/* -------------------------- */
/* INSERT */
/* -------------------------- */
/* Required: var nocache is a random number to add to request. This value solve an Internet Explorer cache issue */
var nocache = 0;
function insert(club,id_club,championnat,prefixe) {
document.getElementById('insert_response').innerHTML = "Un instant..."
nocache = Math.random();
// Pass the login variables like URL variable
http.open('get', 'ajout_clubs.php?club='+club+'&id_club='+id_club+'&championnat='+championnat+'&prefixe='+prefixe+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
// else if login is ok show a message: " added+ site URL".
document.getElementById('insert_response').innerHTML = ' added:'+response;
}
} |
et la partie traitement des données
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?php
header('Content-Type: text/html; charset=ISO-8859-15');
if(isset($_GET['club']))
{
$_PRE=$_GET['prefixe'];
require_once('config/config.inc.php');
$query = "INSERT INTO `".$_PRE."".$_GET['championnat']."classement` (`id_club`, `club`, `points`, `joues`, `gagnes`, `v_dom`, `v_ext`, `d_dom`, `d_ext`, `perdus`, `sets_plus`, `sets_moins`, `points_plus`, `points_moins`) VALUES ('".$_GET['id_club']."', '".$_GET['club']."', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0')";
$result = mysql_query($query) or die('Erreur SQL !'.$sql.''.mysql_error());
}
//echo $query;
?> |
Le principe est donc de cliquer sur un élément de la liste de gauche pour l'insérer dans la base de données.
Ce que je souhaite, c'est réafficher le DIV de droite (nommé ligue) afin de voir la liste de la BDD réactualisée.
Quelqu'un a une idée svp ?