Php

Fermé
Skirittou Messages postés 4 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 22 juillet 2007 - 21 juil. 2007 à 01:37
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 22 juil. 2007 à 17:06
Salut tous le monde! Est ce que quelqu'un peut m'aider? j'ai un prb qui m'a cassé la tete :cry: ..J'ai un formulaire écrit en HTML et dans ce formulaire il ya un champ text1 qui représente le nom de l'auteur et un autre champ text2
pour le code de l'auteur(J'ai une table auteur dans ma base de donnée),je veux quand un user tappe le nom de l'auteur et aprés quand il clic sur la zone vide du code de l'auteur le code s'affichera(une requete mysql...) avant meme de faire un submit(le submit sera réserver pour une insertion dans la base).
S'il vous plait si quelqu'un peut m'aider je serais reconnaissant!merci
A voir également:

1 réponse

Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
21 juil. 2007 à 23:06
Salut Skirittou,

Je n'ai pas fort fort compris l'intérêt d'une telle chose (dans ton cas) mais en gros tu aimerais faire une requête vers la base de données avant même d'envoyer le formulaire vers le serveur.

> C'est possible en utilisant Ajax (regarde du côté des objets httpxmlrequest). Le mécanisme en gros c'est que le JavaScript fasse une requête vers le serveur (vers un fichier PHP qui a pour seul et unique but de renvoyer le code de l'auteur correspondant au nom fourni) et intèrprète la réponse de ce fichier (il faudra faire un "echo" de ce code sur le fichier PHP).

> C'est possible en chargeant dès le départ la table des auteurs dans un tableau dynamique à plusieurs dimensions. Donc d'abord une requête en PHP et ensuite tu écris le code JavaScript qui recevra dynamiquement les résultats de cette requête dans un tableau. Plus loin dans le code il te suffira d'afficher les correspondances avec un peu de programmation (juste une boucle de recherche).


Voilà deux idées, à toi de choisir celle qui te convient le mieux, mais ça implique du JavaScript quoique tu fasses.

Puis pour ce qui est de la détection du clic sur la zone vide du code, l'événement JavaScript "onFocus" fera l'affaire. C'est à ce moment que tu pourras chercher le code de l'auteur introduit dans la case à côté. A toi de bien nommer les champs pour pouvoir y accéder facilement.

Bon courage à toi !
0
Skirittou Messages postés 4 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 22 juillet 2007
22 juil. 2007 à 00:55
Merci pour ta réponse vous m'avez bien compris mais comment je peux récupérer le nom de l'auteur introduit dans le formulaire sans poster le formulaire (car le $_POST ne marche que si on submit le formulaire) pour faire les traitement nécessaires?
Comment passer le contenu d'une variable calculé en php à javascript pour l'afficher?
0
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225 > Skirittou Messages postés 4 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 22 juillet 2007
22 juil. 2007 à 17:06
> "comment je peux récupérer le nom de l'auteur introduit dans le formulaire sans poster le formulaire"

Pour récupérer la valeur du champ ça se fait simplement avec la propriété "value" JavaScript d'un champ texte. Un genre à getElementById("champ_auteur1").value ou formulaire.champ_auteur1.value (les deux se valent normalement).

Pour le reste tout se fait avec Ajax. Voilà un tutoriel : https://www.toutjavascript.com/savoir/xmlhttprequest.php3 , en voici un autre : https://www.xul.fr/xml-ajax.html (ils sont assez bien faits et je ne pourrai pas mieux t'expliquer). Et on en trouve plein d'autres en cherchant "Ajax" et "xmlhttprequest". En fait Ajax ce n'est que du JavaScript qui va demander l'exécution d'un fichier sur le serveur et interpréter la réponse (le serveur donnera sa réponse en écrivant du texte, une bête instruction echo), tout ceci sans envoyer le formulaire et donc sans recharger la page, le reste c'est le dynamisme du JavaScript qui s'en chargera.



>"Comment passer le contenu d'une variable calculé en php à javascript pour l'afficher?"

Tout simplement en écrivant dynamiquement le code JavaScript (dont les variables ET leur contenu) à l'aide de l'instruction d'affichage du PHP. Le PHP ne fait qu'écrire du texte. Il écrit très bien l'HTML, pourquoi pas le JavaScript ? ;-)

Soit un code PHP dont les variables $nomAuteurs et $codeAuteurs contiennent respectivement la liste des auteurs et le code de ces auteurs (ce sont des tableaux préalablement alimentés par une requête SQL ou n'importe quoi) :

<script type="text/javascript'>

var nombreAuteurs = <?php echo sizeof($nomAuteurs); ?>;
var nomAuteurs = new Array(nombreAuteurs);
var codeAuteurs = new Array(nombreAuteurs);

<?php
for($nAuteurs=0; $nAuteurs<sizeof($nomAuteurs); $nAuteurs++)
{
echo "nomAuteurs[$nAuteurs] = \"" . $nomAuteurs[$nAuteurs] . "\"; " ;
echo "codeAuteurs[$nAuteurs] = " . $codeAuteurs[$nAuteurs] . "; " ;
}
?>

</script>

(exactitude du code non vérifiée)

Et en fait ce code ne fera rien d'autre qu'écrire dynamiquement du code JavaScript et va remplir les variables tableau nomAuteurs et codeAuteurs par le contenu des variables tableau PHP. Par exemple pour l'instruction :

var nombreAuteurs = <?php echo sizeof($nomAuteurs); ?>


Ca va écrire, admettant que $nomAuteurs est un tableau de 10 éléments :

var nombreAuteurs = 10;


Et ainsi tu auras affecté à ta variable JavaScript le contenu d'une variable PHP. C'est rustique mais c'est comme ça.


Voilà je ne peux pas faire mieux en matière d'explication, pas de quoi et bon courage pour la suite !
0