Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2011, 15h46   #1
Invité de passage
 
Homme Yann Ulrich
Gestionnaire de parc micro-informatique
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Yann Ulrich
Localisation : Canada

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Proxy Json Capricieux

Bonjour à tous !
Je vous écris la tête basse... J'ai crée une application dans laquelle les utilisateurs rentrent des questions libres qui sont affichées sur une interface utilisateur. J'aimerais ajouter un bouton refresh. J'ai donc pensé à store.load() ... Ce qui ne marche qu'avec un proxy rattaché à mon store.

Cependant, je n'arrive pas à configurer mon proxy avec mon fichier php. De fait, les données serveur ne parsent pas.

Toute idée serait la bienvenue et très appréciée !

Voici mon code 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
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
Ext.regModel('guests', {
    fields: [
        { name: 'id',       type: 'string' },
        { name: 'nom',     type: 'string' },
        { name: 'sujet',      type: 'string' },
        { name: 'message',  type: 'string' }
    ]
});
 
storeQuestions = new Ext.data.Store({
		model: 'guests',
		storeId: "storeQuestions",
		proxy: {
                type: 'rest',
                id: 'model',
				url: '\questions.php?',
				reader: {
					type: 'json',
					root: 'guests'
					}
				}
}),
 
 
var tplquestions = new Ext.XTemplate(
		'<div id="fonds">',
			'<tpl for=".">',
			'<div class="rectangles">',
			'<br>&nbsp<br>',
			'<center>',
                '<span class="bulle bottom" id="stylish">',
				'<table>',
				'<tr>',
				'<td>Question {id}</td>',
				'<td>Sujet: {sujet}</td>',
				'</tr>',
				'<tr>',
				'<td colspan="2"> {message}</td>',
				'</tr>',
				'</table>',
				'</span>',
				'</center>',
				'<\div>',
				'<br>',
			'</tpl>',
		'</div>',
		'<br>'
    ),
 
panelbulle = new Ext.Panel({
    id:'voirdonnees',
	title: 'Questions ouvertes',
	iconCls: 'user',
	iconMask: true, 
    frame:true, 
    width:535,
    autoHeight:true,
    collapsible:true,
    layout:'fit',
	items: new Ext.DataView({
			store: storeQuestions,
			tpl: tplquestions,
			autoHeight:true,
			multiSelect: true,
			itemSelector: 'div.fonds',
			emptyText: 'Pas de question pour le moment'
		})
});			
 
demos.Questions = new Ext.TabPanel({
			fullscreen: true,
			ui: 'light',
			tabBar: {
				dock: 'bottom',
				layout: { pack: 'center'}
			},
			cardSwitchAnimation: {
				type: 'slide'
			},
			dockedItems: [{
				xtype: 'toolbar',
				ui: 'light',
				dock: 'top',
				defaults: {
					iconMask: true,
					ui: 'plain'
				},
				items: [{
					iconCls: 'refresh',
					handler: function() {	
						var store = storeQuestions;
						store.load(); 
					}	
				}]
			}],
			items: [panelbulle]
});



Et voici mon code PHP:


Code php :
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
<?php
 
$dsn = 'mysql:dbname=touch_voting;host=localhost';
$user = 'root';
$password = '';
try {
    $dbh = new PDO($dsn, $user, $password);
 
    if (isset($_GET['action']) && $_GET['action'] == "get") {
        $sql = "SELECT * FROM messages";
        $guests = array();
        foreach ($dbh->query($sql) as $row)
        {
            $guests[] = array(
                'id' => $row['id'],
                'nom' => $row['nom'],
                'sujet' => $row['sujet'],
                'message' => $row['message']
            );
        }
        echo json_encode(array('success' => true, 'guests' => $guests));
    } else {
        $dbh->exec("INSERT INTO messages VALUES ('', '".$_POST['nom']."',
            '".$_POST['sujet']."', '".$_POST['message']."')");
 
        echo '{"success":true, "msg":'.json_encode('Data Inserted').'}';
    }
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
 
?>


Merci d'avance et à très bientôt !
jimbo13montreal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 18h36   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 760
Points : 5 760
Bonjour,

Merci de ne poster que du code HTML généré et non pas du code PHP.
C'est le code HTML final qui nous intéresse. Le PHP ne nous donne pas assez de renseignements.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 12h57   #3
Invité régulier
 
Inscription : mars 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 8
Points : 8
Points : 8
Citation:
les données serveur ne parsent pas
Qu'est-ce que ça veut dire ???

La requête ajax ne s'execute pas ou elle ne retourne aucun résultat ?

Si ça te retourne aucun résultat, regarde du côté de ton code php et demande toi si ton alternative :
Code :
if (isset($_GET['action']) && $_GET['action'] == "get")
est vrai lorsque tu load ton store.
Tilwan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h29.


 
 
 
 
Partenaires

Hébergement Web