bonjour,

en suivant un tuto j'ai réussi (laborieusement) à mettre en place un formulaire ajax php json qui fonctionne sans liaison avec ma bdd. J'aimerais maintenant qu'il soit en lien avec ma bdd.

je pensais qu'il suffisait d'établir la connexion à la bdd et de récupérer les données par une requête php comme :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
 global $con;
 include_once 'connexionMysql.php';
// RECUPERATION D'UN ENREGISTREMENT
 
$peudo=$_POST['pseudo'];
$password=$_POST['password'];
 
$sql = "SELECT pseudo, password, score, varpage, varclic, scoresee, varm, varmdir, vary, varydir, vare, varedir1, varedir2, varc3dir, vargsdir, varn, vars, varcolosdir, varo, varmastadir1, varmastadir2, vari, vark, varkdir1, varkdir2, varkdir3, varr, varrdir FROM diamant WHERE pseudo = '$pseudo' and password = '$password'";
$resultat = $con->query($sql);
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysqli_fetch_assoc($resultat))
    {
// on affiche les informations de l'enregistrement en cours
 
	$pseudob=$data['pseudo'] ;
	$passwordb=$data['password'] ;	
	$scoreb=$data['score'] ;
       $varpageb=$data['varpage'] ;
	$varclicb=$data['varclic'] ;
	$varmb=$data['varm'] ;
	$varyb=$data['vary'] ;
 
    }
 
?>

Mais j'ai essayé de mettre ce code dans mon fichier php en lieu et place des variables définies mais cela ne me renvoie pas les données de la bdd (au mieux cela renvoie "NULL"

Voici le fichier ajax_test.html
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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
50
51
52
    <html>
    <head>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script type="text/javascript">
    $("document").ready(function(){
      $(".js-ajax-php-json").submit(function(){
        var data = {
          "action": "test"
        };
        data = $(this).serialize() + "&" + $.param(data);
        $.ajax({
          type: "POST",
          dataType: "json",
          url: "ajax_retour.php", 
          data: data,
          success: function(data) {
            $(".return").html(
                                "<input type='text' id='pseudob' name='pseudob' value='" + data["pseudo"] + "' style='width:100px';><br>" +
                                "<input type='text' id='passwordb' name='passwordb' value='" + data["password"] + "' style='width:100px';><br>" +
                                "<input type='text' id='scoreb' name='scoreb' value='" + data["score"] + "' style='width:100px';><br>" +
                                "<input type='text' id='varpageb' name='varpageb' value='" + data["varpage"] + "' style='width:100px';><br>" +
                                "<input type='text' id='varclicb' name='varclicb' value='" + data["varclic"] + "' style='width:100px';><br>" +
                                "<input type='text' id='varmb' name='varmb' value='" + data["varm"] + "' style='width:100px';><br>" +
                                "<input type='text' id='varyb' name='varyb' value='" + data["vary"] + "' style='width:100px';><br><br>" 
 
            );
 
            alert("Le formulaire a ete transmis avec succes.\nBonjour " + data["pseudo"] + " ton score est de : " + data["score"]);
          }
        });
        return false;
      });
    });
    </script>
    </head>
    <body>
    <form action="ajax_retour.php" class="js-ajax-php-json" method="post" accept-charset="utf-8">
		<input type="text" name="pseudo" value="" placeholder="Pseudo" />
		<input type="text" name="password" value="" placeholder="password" /><br><br>
		<input type="text" id="score" name="score" value="" style="width:50px"; hidden>
		<input type="text" id="varpge" name="varpage" value="" style="width:50px"; hidden>
		<input type="text" id="varclic" name="varclic" value="" style="width:50px"; hidden>
		<input type="text" id="varm" name="varm" value="" style="width:50px"; hidden>
		<input type="text" id="vary" name="vary" value="" style="width:50px"; hidden>
		<input type="submit" name="submit" value="Envoyer"  />
    </form>
 
    <div class="return">
      Retour des donn&eacute;es ajax
    </div>
    </body>
    </html>

et le fichier ajax_retour.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
 
if (is_ajax()) {
  if (isset($_POST["action"]) && !empty($_POST["action"])) { //Checks if action value exists
    $action = $_POST["action"];
    switch($action) { //Switch case for value of action
      case "test": test_function(); break;
    }
  }
}
 
//Function to check if the request is an AJAX request
function is_ajax() {
  return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}
 
function test_function(){
  $return = $_POST;
 
	//ici les variables définies à remplacer par les valeurs de la requête mysql
 
	$pseudob=$_POST['pseudo'];
	$passwordb=$_POST['password'];
	$scoreb="7";
	$varpageb="150";
	$varclicb="30";
	$varmb="1";
	$varyb="1";
 
	if ($return["score"] == ""){
	$return["pseudo"] = $pseudob;	
	$return["password"] = $passwordb;	
    $return["score"] = $scoreb;
	$return["varpage"] = $varpageb;
	$return["varclic"] = $varclicb;
    $return["varm"] = $varmb;
	$return["vary"] = $varyb;
  }
 
  $return["json"] = json_encode($return);
  echo json_encode($return);
}
?>

Quelqu'un pourra peut-être me dire si ce que je veux faire est possible et/ou si je fais totalement fausse route en voulant modifier mon fichier php de cette façon et/ou si le tuto que j'ai suivi ne concerne en rien une liaison avec une bdd.

Ma bdd en ligne est parfaitement opérationnelle et je sais faire ce que je demande sans ajax (seulement avec php, mysql) mais bien sûr c'est la liaison avec ajax qui m'intéresse.

Par avance merci