[AJAX] ajax + programmer bouton suivant et precedant
bonjour, voila j'ai programmer un bouton suivant pour faire défiler une table de ma base de données par palier
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 37 38 39 40 41 42 43
| $i=0;
$select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3 ';
$compteur1= mysql_query('Select count(*) from methode') or die ('Erreur : '.mysql_error() );
$row2 = mysql_fetch_array($compteur1);
$j=$row2['count(*)'];
echo $j;
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// début du tableau
echo '<div id="methode">';
echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td bgcolor="#669999" width="101">IdMethode</td>';
echo '<td bgcolor="#669999" width="101">Nom</td>';
echo '<td bgcolor="#669999" width="140">Description</td>';
echo '<td bgcolor="#669999" width="145">Lien</td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
echo '</div>';
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
<input type="button" name="precedant" value="precedant" onClick="javascript:bellow()"/>
<input type="button" name="Suivant" value="Suivant" onClick="javascript:follow()"/>
<input type="hidden" id="total" value="<?php echo $j;?>"> |
et j utilise ce script pour incrémenter mon compteur :
Code:
$select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3
script js
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 37 38 39 40 41 42 43 44 45 46 47 48 49
| var nbre=0;
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function follow(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function() {
if(xhr.readyState !=4){
document.getElementById('methode').innerHTML='Chargement en cours'}
else
{document.getElementById('methode').innerHTML=xhr.responseText}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajax_follow1.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
total=document.getElementById('total').value;
if(nbre >= total){
document.getElementBYId('monbouton').disabled='true';
}
nbre+=3;
xhr.send("i="+nbre+"&total="+total);
} |
voila le script php à executer apres ce script js
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 37 38 39 40 41 42 43 44 45 46
| <?php
header('Content-Type: text/plain; charset=ISO-8859-1');
if (isset($_POST['i'])){
$i=$_POST['i'];
//On se connecte
mysql_connect("localhost","root","");
mysql_select_db("assvisual");
// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// début du tableau
echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td bgcolor="#669999" width="101">IdMethode</td>';
echo '<td bgcolor="#669999" width="101">Nom</td>';
echo '<td bgcolor="#669999" width="140">Description</td>';
echo '<td bgcolor="#669999" width="145">Lien</td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
}
?> |
je veux desactiver mon boutton suivant dans le script js? alors j ai met ça
total est le nbre total d enregistrement de ma table
Code:
1 2 3
| if(nbre >= total){
document.getElementBYId('monbouton').disabled='true';
} |