Bonsoir,
Bon par ou commencer...heu..c'est du code de débutant.
Je n'y connais rien en Ajax,javascript un tout petit peu,php je me débrouille et html ça va.
Si quelqu'un pouvais me dire si le code est correct se serai gentil.
Il y a 2 code Php,un code Javascript contenant de l'Ajax et un code Html.
Premier code Php, dont je me sert en Ajax pour appliquer mon Javascript:
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 <?php header('Content-Type: text/html; charset=ISO-8859-1'); mysql_connect('localhost','root',''); mysql_select_db('garden'); $acteur = "SELECT * FROM acteur ORDER BY id_acteur"; $result_acteur = mysql_query ($acteur); while($afficher_acteur = mysql_fetch_array($result_acteur)) { echo $afficher_acteur['id_acteur'] . "." . $afficher_acteur['nom_acteur'] . "|"; } ?>
Voici le code Javascript contenant de l'Ajax :
code Html:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 <script type="text/javascript"> function submitForm() { if(window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { req = new ActiveXObject(Microsoft.XMLHTTP); } req.onreadystatechange = function() { if(req.readyState == 4 && req.status == 200) { strOpt = req.responseText; } } req.open("GET", "test.php", true); req.send(null); return strOpt; } var compteur = 0; function ajouter() { var conteneur = document.getElementById('fichiers'); var undiv = document.createElement('div'); var check = document.createElement('input'); var select = document.createElement('select'); tmpOpt = submitForm().split('|'); nbOpt = tmpOpt.length - 1; for(var i=0;i<nbOpt;i++) { realOpt = tmpOpt[i].split('.'); var newOption=document.createElement('option'); newOption.value=realOpt[0]; newOption.innerHTML=realOpt[1]; select.appendChild(newOption); } //var newOption =document.createElement('option'); //var newOption1 =document.createElement('option'); //var newOption2 =document.createElement('option'); select.name = 'acteur[]'; check.type = 'checkbox'; // newOption.value=0; // newOption.innerHTML="Sélectionnez"; // --- Option 2 // newOption1.value="valeur_1"; // newOption1.innerHTML="option_1"; // --- Option 3 // newOption2.value="valeur_2"; // newOption2.innerHTML="option_2"; check.type = 'checkbox'; check.onclick = function() { compteur--; lediv = this.parentNode; lefieldset = lediv.parentNode; lefieldset.removeChild(lediv); } undiv.appendChild(select); //select.appendChild(newOption); //select.appendChild(newOption1); //select.appendChild(newOption2); undiv.appendChild(check); undiv.appendChild(document.createTextNode("Enlever")); conteneur.appendChild(undiv); compteur++; document.forms["formulaire"].elements['cache'].value=compteur; } </script>
Deuxième code Php:
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 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>ajout d'acteur</title> </head> <body onload="submitForm()"> <form name="formulaire" action='traitement.php' method='post'> <div id="ajout_acteur"> <span id='fichiers'> <p>Acteur jouant dans se film :</p> <input type='button' value='Ajouter un acteur' onclick='ajouter()' /><br /> </span> <input type="text" name="cache" id="cache" /> <input type='submit' value='enregistrer'/> </div> </form> </body> </html>
Si quelqu'un veux le tester pour me dire ce qu'il en penses.
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 <?php mysql_connect('localhost','root',''); mysql_select_db('cinema'); echo $_POST['cache'].'<br />'; for($j = 0; $j < $_POST['cache']; $j++) { $query = "INSERT INTO test VALUES('','".$_POST['acteur'][$j]."')"; echo $query.'<br />'; //mysql_query($query); } ?>
Le premier code Php ,c'est une page test.php.
Le code Javascript ,soit vous le mettez dans le header, soit dans un fichier JS à part.
Le code Html, c'est une page (X)html codée en ISO-8859-1.
Le deuxième code Php, c'est une page traitement.php.
En fait,j'ai un problème dans mon code Javascript.
Le problème se situe au niveau de ma variable compteur.
Lorsque je clique sur le bouton "ajouter un acteur" ma variable s'incrémente de 1.
Quand je clique sur la case à cochée normalement ma variable se décrémente de 1 et cela ne le fait pas.
J'ai retourné le problème dans tous les sens.
J'ai testé return mais aucun résultats.
Je suis perdue
Si quelqu'un pouvais m'éclairer se serait vraiment gentil.
Merci
Yvi.
Partager