Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, 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 28/06/2011, 16h23   #1
Membre expérimenté
 
Avatar de tigunn
 
Homme
Développeur de bug
Inscription : janvier 2003
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur de bug

Informations forums :
Inscription : janvier 2003
Messages : 516
Points : 535
Points : 535
Par défaut Contrôle de saisie en ajax - recuperer la valeur d'une requete sql de type SELECT

Salut a tous,

J'ai un formulaire sur n page php qui est :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
echo PHP_EOL . '<form action="' . $_SERVER['PHP_SELF'] . '" method="post" name="frm" id="frm" enctype="application/x-www-form-urlencoded">';
	echo PHP_EOL . '<input name="mode" type="hidden" value="add_relation" />';
	echo PHP_EOL . '<input name="node" type="hidden" value="' . $node . '" />';
	echo PHP_EOL . '<input name="b3" type="hidden" value="'.  $b3 . '" />';
	echo PHP_EOL . '<input name="b1" type="hidden" value="'.  $docs->id_int . '" />';
	// 	Selection du type de reference
	echo '<select id="ID_type_ref" name="ID_type_ref" dir="ltr" onblur="modifTypeRefPourRelationB1B3('.$b3.', \'b3\')">';
	$i=0;
	foreach ($liste_type_ref as $k_type_ref => $tab_type_ref) {
		echo '<option value="'.$tab_type_ref['ID'].'" '.(($i==0)?'selected':'').'>'.$tab_type_ref['type_ref'].'</option>';
		$i++;
	}
	echo '</select>';
	echo PHP_EOL . '&nbsp;<input class="button_add" name="btn" value="Ajouter" type="submit" />';
	echo PHP_EOL . '</form>';
Or, je voudrais tester que dans la table ou va se faire l'ajout je n'aurais pas dejà une valeur identique. Et si c'est le cas selectionner la valeur par defaut du select.
Dans cet objectif, j'ai fait une methode jajax:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
*	Méthode qui sera appelée pour chaque select modifiant le type de ref de la relation B1-B3
*/
function modifTypeRefPourRelationB1B3(id_ref_bib, type_biblio) {
	var xhr = getXhr();
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
 
		if(xhr.readyState == 4){
			if (xhr.status==200 || xhr.status==0){
            	alert('La ref bib est deja un fragment4.');
            	alert(xhr.responseText);
            }else{
                alert ("statut: "+xhr.status+"    Texte: "+xhr.statusText);
            }
		}
	}
	xhr.open("POST","action_ajax.php",false);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("action=modifTypeRefPourRelationB1B3&id_ref_bib="+id_ref_bib+"&type_biblio="+type_biblio);
 
}
J'utilise la méthode getXhr() définit par SIddh dans son tuto, "aller plus loin avec ajax".
Sur la page, action_ajax.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 * MODIFIER LE TYPE DE REFERENCE D'UNE RELATION B1-B3 
 * 		SSI LA REF BIB A L'ORIGINE DE L'ACTION N'EST PAS DEJA DU TYPE FRAGMENT
 * ----------------------------------------------------------------------------------
 */
if ((isset($_POST['action'])) && ($_POST['action']=='modifTypeRefPourRelationB1B3')) {
 
	if ($_POST['type_biblio']==1) {
		$sql='SELECT ID FROM Table1  WHERE ID_b1 = :id AND ID_type_ref = :id_type';
 
	}
	else {
		// retourner 0
		$sql='SELECT ID FROM Table1 WHERE ...';
	}
 
	$req = $db->res->prepare($sql);
	$temp=$req->execute( array('id' => $_POST['id_ref_bib'], 'id_type' => ID_TYPE) );
}
Vous l'aurez compris, je n'arrive pas à récupérer le résultat de mon select sql pour gérer si oui ou non, je dois selectionner un autre item du select html.
__________________
"le rhume distillation - L’estomac est la cucurbite, le cerveau le chapiteau, & le nez le réfrigérant par lequel s’écoule goutte à goutte le produit de la distillation."
de Avicenne

Le monde se divise en deux: ceux qui utilisent le tag et les autres.

Un problème? venez en découdre!
tigunn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 23h57   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 774
Points : 4 774
Bonsoir,
ne serait ce pas plutôt du ressort de http://sqlserver.developpez.com/faq/
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 09h51   #3
Membre expérimenté
 
Avatar de tigunn
 
Homme
Développeur de bug
Inscription : janvier 2003
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur de bug

Informations forums :
Inscription : janvier 2003
Messages : 516
Points : 535
Points : 535
euh non.

Par contre, après une bonne nuit de sommeil, je pense avoir mal conçut mon dev; je pourrais passer par un innerHTml pour afficher le select avec les valeurs en fonction du résultat des requêtes.
Je regarde cela plus tard, et je tiendrais au courant.
__________________
"le rhume distillation - L’estomac est la cucurbite, le cerveau le chapiteau, & le nez le réfrigérant par lequel s’écoule goutte à goutte le produit de la distillation."
de Avicenne

Le monde se divise en deux: ceux qui utilisent le tag et les autres.

Un problème? venez en découdre!
tigunn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h21.


 
 
 
 
Partenaires

Hébergement Web