Bonjour à tous,

Je cherche actuellement à réaliser un petit script d'envoi de données par JS. J'ai donc un formulaire que j'envoie par ajax à un script PHP le traitant. Une fois les données insérées en BDD, ce script me renvoie l'id de l'objet créé en BDD. Il me permet donc de récupérer via un second script un code html qui est ensuite afficher via JS.

Mon problème se situe au niveau de mon second script, celui qui doit me renvoyer le code HTML. Il récupère correctement l'id que je lui fournit mais n'est pas capable de retrouver l'objet créé précédemment en BDD. Une requête SQL vérifie en effet que l'objet est bien inséré dans la BDD avant de créer une instance de classe utilisée pour mon code html.

Seulement voilà, ni ma requête SQL vérifiant l'existence de l'objet en BDD ni l'instance de classe créée par la suite ne retrouve l'objet dans la BDD. Hors celui-ci existe bien puisqu'il apparait dans MySQL. J'ai donc pensé à un problème de requête synchrone en JS mais ce n'est pas ça visiblement car cela ne marche toujours pas.

Bref, quelqu'un aurait-il une petite idée d'où cela pourrait venir ?

Voici mon code JS :
Code : 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
$.ajax({
                            type: 'POST',
                            url: 'ajax/index.php?fichier=1011',
                            async: false,
                            data: {object_id : id_object, new_source_url_name : name_web, new_source_url_url : url_web, user_id : user_id},
                            success: function(data)
                            { 
                                if(data == 1)
                                {
                                    alert('Votre formulaire est incorrect. Veuillez compléter correctement les champs.');
                                }
                                else
                                {
                                    $.ajax({
                                        type: 'POST',
                                        url: 'ajax/index.php?fichier=1012',
                                        async: false,
                                        data: {id_source : data, id_object : id_object},
                                        success: function(data)
                                        { 
                                            var content_div = $('#div_source_add').attr('ref');
 
                                            if(content_div == 1)
                                            {
                                                $('#div_source_add').attr('ref', 2);
                                                $('#div_source_add').html(data);
                                            }
                                            else
                                            {
                                                $('#div_source_add').append(data);
                                            }
                                        },
                                        error: function(data) {alert(data);},
                                        dataType: 'html'
                                    });
                                }
                            },
                            error: function(data) {alert(data);},
                            dataType: 'html'
                        });
Mon script php générant le code html :
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
if(isset($_POST['id_source']) AND isset($_POST['id_object']))
{
    $source_id = $_POST['id_source'];
    $id_object = $_POST['id_object'];
 
    $bdd_reponse = $BDD_Object->prepare('SELECT COUNT(*) FROM 2_Object_Source WHERE _ID_Source = :source_id AND _ID_Object = :object_id'); 
    $bdd_reponse->execute(array('source_id' => $source_id, 'object_id' => $id_object));
    $nb_reponse = $bdd_reponse->fetchColumn();
    $bdd_reponse->closeCursor();
 
    if($nb_reponse > 0)
    {
        spl_autoload_register ('chargerClasse');
        $source = new Source($source_id, $BDD_Object);
 
        echo '<article style="margin-left: 0px; width: 90%; margin: auto; display: table; border: #c2c2c2 solid 1px; padding: 5px;">
                    <div style="display: table-cell; width: 25%; margin-right: 10px; vertical-align: middle;"><img src="'.$source->getSourceIcone($BDD_Object).'" alt="Icone: Source" style="max-width: 60px; max-height: 60px;" ></div>
                    <div style="display: table-cell; width: 75%; vertical-align: middle;">'.$source->getSourceName($BDD_Object).'</div>
              </article><br>';
    }
}
else
{
    echo 'error';
}
?>

D'avance merci,
MKP