Ajouter une fonction JavaScript dans un requête SQL

madoman Messages postés 56 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 11 octobre 2004 - 19 janv. 2004 à 12:43
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 23 janv. 2004 à 17:49
Bonjour. J'ai une fonction JavaScript qui me retourne le jour(par exemple pour aujourd'hui c'est le 19). je veux intégrer cette fonction dans une requête SQL mais la ça ne marche pas du tout et pourtant j'ai essayé plusieurs formes mais apparement j'ai pas la bonne ou alors ya 1 truc à faire

<script language="JavaScript1.1">

function jour()
{
datedujour=new Date();
var jour=datedujour.getDate();
return(jour);
}

</script>

var SQLCourse = Server.CreateObject("ADODB.Recordset");
SQLCourse.ActiveConnection = MM_connection_journaliste_STRING;
SQLCourse.Source = "SELECT txt_course FROM Course WHERE day(date1_course)= '"&jour() "' ";
SQLCourse.CursorType = 0;
SQLCourse.CursorLocation = 2;
SQLCourse.LockType = 1;
SQLCourse.Open();
var SQLCourse_numRows = 0;
%>

J'ai développé le code avec dreamweaver.
Si quelqu'un a sait comment faire? Merci

9 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 janv. 2004 à 19:44
Je comprend pas le code où est le <% c je pense un oublie de ta part et il se situe juste apres le script ?

Ensuite je vois pas comment jour() peut etre retourné ?

asp est un langage serveur et tout ce qui est ecrit en javascript ne peux pas etre lu par asp. Ton erreur va etre que ta function jour n'est pas défini etc... en + il te manque un & apres jour je suppose

Poour cela tu as d'autres possibilité si tu caculer le jour à partir de javascript, tu peux faire une redirection sur ta meme page (en javascript voir http://www.javasciptfr.com) et rajouté un paramètre à l'url du style mapage.asp?date=19

Ensuite dans le code tu fais
dim jour = request.querystring("date")

et tu finis ton code
comme ca :
Course WHERE day(date1_course)= '" & jour & "' ";
(j'ai pas vérifié pour les quotes)

Mais bon si tu souhaites seulement savoir la date du jour je ne pense pas qu'il y ai besoin de javascipr pour ca il est très facile de faire ca à partir d'asp (heureusement)

@+
0
madoman Messages postés 56 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 11 octobre 2004
20 janv. 2004 à 16:13
je vois pas trop comment récupérer la date en asp
car en fait la requête que j'ai présentée n'était pas complète, il ya la même chose mais avec l'année et le mois. De plus, dans ma table access j'ai 2 champs date

select txt_course from course where day(date1_course)='" & jour & "' or day(date2_course)='" & jour & "' and month(date1_course)='" & mois & "' or month(date2_course)='" & mois & "' and year(date1_course)='" & annee & "' or year(date2_course)='" & annee & "'

et pour utiliser le résultat de mes fonctions JS, je vois pas comment faire du tout
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
20 janv. 2004 à 20:23
ta variable jour correspond juste au jour de la journée ou est elle calculé par javascript et ne peut donc pas etre traduite en asp ? si tes variables sont rien que les jours d'aujourdhui le code en dessous sert pas à grand chose

Sinon

qd tu envoie ta requete via un bouton, dans ton code javascript tu dois faire une redirection vers
tapage.asp?day=#tonjour#&mois=#tonmoi#&anne=#annee#

dans les #tonjour# c'est ta variable javascript (voir javascriptfr.com)

et ensuite tu finis ton code comme ds l'exemple du post ci dessus

Cyril (Alias Jesusonline)
0
madoman Messages postés 56 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 11 octobre 2004
21 janv. 2004 à 09:20
ma fonction jour me permet d'obtenir le jour d'aujourd'hui (le 21) et ce que je veux c'est utiliser ce résultat dans ma requête SQL

et je débute en ASP et surtout en JavaScript donc y a certaines choses que je pigent pas trop
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
21 janv. 2004 à 21:56
Javascript et asp sont deux choses totalement differentes

Donc pour ta requete il faut faire :

select txt_course from course where day(date1_course)='" & Day(Date()) & "' or day(date2_course)='" & Day(Date()) & "' and month(date1_course)='" & Month(Date()) & "' or month(date2_course)='" & Month(Date())& "' and year(date1_course)='" & annee & "' or year(date2_course)='" & year(Date()) & "'

tout simplement :)

Va voir http://www.aspfr.com/code.aspx?ID=8586 pour peut etre mieux comprendre

Cyril (Alias Jesusonline)
0
madoman Messages postés 56 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 11 octobre 2004
22 janv. 2004 à 09:14
salut et merci mais la je désespère car ça ne fonctionne pas

mon code est le suivant

<%
var Course = Server.CreateObject("ADODB.Recordset");
Course.ActiveConnection = MM_connection_journaliste_STRING;
Course.Source = "SELECT * FROM Course WHERE day(date1_course)= '" & Day(Date()) & "'";
Course.CursorType = 0;
Course.CursorLocation = 2;
Course.LockType = 1;
Course.Open();
var Course_numRows = 0;
%>

je me demande si le pb vient pas plutôt de DreamWeaver MX
je vois pas trop comment faire maintenant aussi car j'ai tout essayé et j'en suis toujouts au même point
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 janv. 2004 à 18:50
Je connais pas la syntaxe de asp(3) mais es tu sur que ta ligne Course.Source est valide ? t'as essayé de faire une requete simple (genre select * from course) ? sinon si tu fais juste un response.write("select [...]") ca te donne koi en réponse ?

Et si tu enleves tout ce code ta page fonctionne ?

Cyril (Alias Jesusonline)
0
madoman Messages postés 56 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 11 octobre 2004
23 janv. 2004 à 09:19
ouai ma ligne Course.Source est valider car si je mets juste "Select * From Course" ou "Select * From Course Where day(date1_course)=23" ça me renvoit bien mes données

é g pa essayé avec le response.write mais à mon avis ça va donner le même résultat
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 janv. 2004 à 17:49
non les response.write va te dire ce que tu mets comme requete bien sur il faut pas executer ta requete tu fais juste un response.write(ta requete) et tu me dis ce qu'il te dit :)

Cyril (Alias Jesusonline)
0
Rejoignez-nous