IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

probleme d'INSERT INTO et JavaScript


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut probleme d'INSERT INTO et JavaScript
    je ne parviens pas à ajouter l'attribut des 'centre' dans ma table 'antenne'.

    Pourtant, celui ci est une copie conforme de mon attribut des 'responsable' qui lui fonctionne parfaitement.

    admin_antenne.asp : récupère les valeurs des titres, ..., responsable, centre en valeur "hidden" par une fonction Javascript. Affiche les tables.
    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
     
    sql = "SELECT * FROM antenne, region where id_region=region_antenne order by titre_antenne, lib_region, nomresp_antenne ;"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
    "SELECT * FROM region order by lib_region;"...
    -----------------------------
    function valid(){
    		document.form_haut.action = "../asp/admin_antenne_creation.asp";
     
    		titre = document.form_haut.titre.value;
    		adresse = document.form_haut.adresse.value;
    		regi = document.form_haut.regi.selectedIndex;
    		tel = document.form_haut.tel.value;
     
    		if (titre != "" && adresse != "" && regi != "" && tel != "")
    		{
    			document.form_haut.submit();
    		}
    		else
    		{
    			alert("Vous devez renseigner les champs :\ntitre\nadresse\nrégion\net telephone.");
    		}
    ------------------------------
    <%= rs("titre_antenne") %>
    <%= rs("lib_region") %>
    <%= rs("titre_antenne") %>');">
    <input type="hidden" name="lid<%= v %>" value="<%= rs("id_antenne") %>">
    <input type="hidden" name="titre<%= v %>" value="<%= rs("titre_antenne") %>">...
    <input type="hidden" name="responsable<%= v %>" value="<%= rs("responsable_antenne") %>">
    <input type="hidden" name="centre<%= v %>" value="<%= rs("centre_antenne")
    et le fichier d'insertion de l'enregistrement
    admin_antenne_creation.asp : Insère les enregistrements dans la table 'antenne'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    autorisation = session("autorisation")
    '--- récupération des paramètres ---
    lid = request.form("lid")
    titre = request.form("titre")...
    responsable = request.form("responsable")
    centre = request.form("centre")
     
    sql = "INSERT INTO antenne"_
    & "(titre_antenne, ..., responsable_antenne, centre_antenne)"_
    & "SELECT '" & titre & "' AS titre_antenne, ..., '" & responsable & "' AS responsable_antenne, '" & centre & "' AS centre_antenne;"
    conn.Execute(sql)
    donc tout ça donne que quand je vais créé une nouvelle 'antenne', les responsables sont bien ajoutés alors que les centres non.
    est-ce que vous voyez d'ou ça peut venir svp ?

    Pour une meilleure lisibilité, j'ai tronqué des parties du code. Si vous souhaitez le code dans son intégralité, je peux le poster si vous voulez.
    Matlight

  2. #2
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    et si tu fais dans admin_antenne_creation.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    autorisation = session("autorisation") 
    '--- récupération des paramètres --- 
    lid = request.form("lid") 
    titre = request.form("titre")... 
    responsable = request.form("responsable") 
    centre = request.form("centre") 
     
    sql = "INSERT INTO antenne"_ 
    & "(titre_antenne, ..., responsable_antenne, centre_antenne)"_ 
    & "VALUES  ('" & titre & "' , ..., '" & responsable & "' , '" & centre & "') ;" 
    conn.Execute(sql)

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Cette modification d'enlever les AS ne change rien malheureusement. Quand je teste, ça affiche exactement pareil que pour responsable sauf que l'ajout du centre dans la base de données n'est pas fait.

    J'ai aussi un 3e script un peu moins impliqué dans l'erreur je pense. Je l'ai créé à partir d'un admin_responsable_popup.asp quasiment identique (on remplace en gros le mot centre par responsable).

    admin_centre_popup.asp :
    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
    sql = "SELECT * FROM centre;"
    ...
    function maj(num)
    {
    	valtest = parent.window.opener.document.form_haut.centre.value;
    	if (num != "")
    	{
    		if (valtest.indexOf(num,0) == -1)
    		{
    			parent.window.opener.document.form_haut.centre.value += num;
    			document.temp.submit();
    		}
    		else
    		{
    			alert("Vous avez déja mis ce centre.");
    		}
    	}
    }
    <form name="temp" action="admin_centre_popup.asp" method="post" target="_self">
    <select name="profilp" onchange="javascript:maj(document.temp.profilp.options[document.temp.profilp.selectedIndex].value);">
    	<option value="">Attribution des centres</option>
    	<%
    		on error resume next
    		rs.movefirst
    		do while not rs.eof
    			num = rs.fields("nom_resp")&" "&rs.fields("prenom_resp")
    	%>
    		<option value="<%= num %>#"><%= rs.fields("nom_resp")%>&nbsp;<%= rs.fields("prenom_resp")%></option>
    	<%
    		rs.movenext
    		loop
    	%>
    </select>
    -------------------
    	test = parent.window.opener.document.form_haut.centre.value;
    	tabtest = test.split("#");
    	tail = tabtest.length;
    je pense que je vais regarder de plus pret du coté de mes variable JavaScript voir si elles n'entrent pas en conflit (celle des responsable avec celle des centres).

    merci de votre future aide.
    Matlight

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    bon et bien j'ai trouvé mon erreur elle était dans un page encore différente de celles que j'ai mentionné.

    admin_antenne_modification.asp : elle a la même fonction que admin_antenne_creation.asp sauf qu'elle concerne les antennes à la modification SEULEMENT et comme mes enregistrement d'antenne était déja fait...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sql = "SELECT * FROM antenne WHERE id_antenne = " & lid & ";"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
     
    rs.fields("titre_antenne") = titre 
    rs.fields("adresse_antenne") = adresse
    ...
    rs.fields("responsable_antenne") = responsable
    rs.fields("centre_antenne") = centre
     
    rs.update
    %>
    donc il m'a suffit de rajouter cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rs.fields("centre_antenne") = centre
    dans la page.

    Voilà tout ce cassage de tête pour si peu.
    Matlight

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tout petit probleme d'insert into
    Par afrodje dans le forum Outils
    Réponses: 10
    Dernier message: 25/06/2007, 11h18
  2. Probleme avec INSERT INTO et select
    Par jmjmjm dans le forum Requêtes
    Réponses: 9
    Dernier message: 28/01/2007, 22h51
  3. Probleme d'INSERT INTO
    Par god_enel dans le forum Langage SQL
    Réponses: 16
    Dernier message: 17/01/2007, 16h22
  4. [MySQL] Probleme d'Insert into
    Par Fredo02 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 18/10/2005, 11h40
  5. probleme avec insert into
    Par bscorpion dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/07/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo