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

ASP Discussion :

Récupération de valeurs d'un tableau


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut Récupération de valeurs d'un tableau
    Bonjour,
    Mon problème est simple : sur la prospectus.asp, j'ai un tableau à 2 colonne (1 pour les tracts, 1 pour les dates). J'ai 4 quatres tracts donc 4 lignes. Je voudrais récupérer les valeurs de ce tableau dans une page prospectus2.asp. J'y arrive mais le pb est que tous les tracts se mettent dans une variable et pareil pour les dates. je voudrais que chaque tract et chaque date ait une variable. Voici mon code avec le résultat :

    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
     
    Prospectus.asp
     
    <%do while not message.eof%>
    <tr>
    	<td width="66%" align="center"><input type="text" name="prospect" value="<%Response.Write message.Fields("NomProspectus")%>"></input></td>  
    	<td width="34%" align="center"><input type="text" name="date" value="<%Request("date")%>"></input></td>
    </tr>
     
    prospectus2.asp
     
    <%
    nbTract = Request.Form("prospect").Count
    nbDate = Request.Form("date").Count
    valTract = Request.Form("prospect")
    valDate = Request.Form("date")
    %>
    <%=nbTract%>
    <%=nbDate%>
    <%=valTract%>
    <%=valDate%>
     
    Résultat de prospectus2.asp
     
    44Malin, Tract Boulanger, Tract Déco, Tract RFO12/03/04, 13/03/04, 14/03/04, 15/03/04
    Je pense qu'il incrémenter avec un compteur mais je ne sais pas comment et où le faire.
    Montrez moi SVP.
    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Dites moi si je n'ai pas été claire

  3. #3
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    il me semble que tu as toutes les infos dans l'autre thread...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    non car il n'y aura pas toujours 4 tracts. Une semaine il peut y en avoir 4 et la semaine suivante 10

  5. #5
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    le principe de fonctionnement est le même que tu en ais 3 ou 40000, non ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Je rappelle que mes tracts sont affichés dans le tableau à partir d'une base de données donc je ne pense pas pouvoir faire tract0, tract1 , tract2 ...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Voici ce que j'ai fait :
    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
     
    <%do while not message.eof%>
    <tr> 
    	<td width="66%" align="center"><input type=text name=tract0 value=<%Response.Write message.Fields("NomProspectus")%>></td> 
    	<td width="34%" align="center"><input type=text name=date0 value=<%Request("date")%>></td> 
    </tr> 
    <%message.movenext%>
    <tr> 
    	<td width="66%" align="center"><input type=text name=tract1 value=<%Response.Write message.Fields("NomProspectus")%>></td> 
    	<td width="34%" align="center"><input type=text name=date1 value=<%Request("date")%>></td> 
    </tr> 
    <%message.movenext%>
    <tr> 
    	<td width="66%" align="center"><input type=text name=tract2 value=<%Response.Write message.Fields("NomProspectus")%>></td> 
    	<td width="34%" align="center"><input type=text name=date2 value=<%Request("date")%>></td> 
    </tr> 
    <%message.movenext%>
    <tr> 
    	<td width="66%" align="center"><input type=text name=tract3 value=<%Response.Write message.Fields("NomProspectus")%>></td> 
    	<td width="34%" align="center"><input type=text name=date3 value=<%Request("date")%>></td> 
    </tr> 
    <%message.movenext
      loop
      message.close
      set message = Nothing
      conn.Close
      set conn = nothing
    %>
    </table>
    C'est quand même un peu lourd. Et si demain il y a plus de 4 prospectus dans la base de données, je pense que ça va poser un petit pb, non?

  8. #8
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    tu fais un boucle... pourquoi faire en plus les lignes "à la main" !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%
    madate=Request("date")
    do while not message.eof%> 
    <tr> 
       <td width="66%" align="center"><input type="text" name="tract<%=(i)%>" value=<%=(message.Fields("NomProspectus"))%>></td> 
       <td width="34%" align="center"><input type="text" name="date<%=(i)%> value=<%=(madate)%>></td> 
    </tr> 
    <%
    message.movenext
    i=i+1
    loop 
    %>
    ce code va construire tout ton tableau QUELQUE SOIT le nombre d'enregistrements...

    et lorsque tu fais un request, pense à mettre querystring ou form

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Je te remercie infiniment. En fait je comprend bien la logique à chaque fois mais ce qu'il me manque c'est la synthaxe.
    J'ai une dernière petite question et après je ne t'ennuie plus c'est promis.
    Dans la page ou j'affiche mes valeurs, je mets ce code mais ça ne fonctionne pas (erreur de synthaxe encore)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <%
    nbTract=Request.Form("tract").Count
    For i= 1 to nb Tract
      valTract=Request.Form("tract<%=i%>")
      valDate=Request.Form("date<%=i%>")
      %>
    <%=valTract%>
    <%=valDate%>
    <%next%>
    Merci encore

  10. #10
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    ben tu fais un response.write dans ta boucle au lieu de concaténer i au nom de champ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <% 
    nom=""
    nbTract=Request.Form("tract").Count 
    For i= 1 to nb Tract
      nom="tract" & i
      valTract=Request.Form(nom) 
      nom="date" & i
      valDate=Request.Form(nom) 
      Response.write(valTract)
      Response.write(valDate)
    next
    %>

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Je te remercie beaucoup. Il y a juste un petit truc qui ne fonctionne pas c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nbTract = Request.Form("tract").Count
    Merci

  12. #12
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Je te conseille ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'decoupe la valeur tract envoyé selon les , trouvé
    tabtract=Split(request.form("tract"),",")
    'ensuite faire Ubound du tableau nouvellement crée pour connaitre le nombre de tract présent, sans oublier qu l'indice commence à 0
    nbtract=Ubound(tabtract)+1
    voilà en esperant t'avoir aidé, bon code

    a+

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    non ça ne fonctionne pas

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

Discussions similaires

  1. [MySQL] Récupération de valeurs d'un tableau
    Par akara dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 19/03/2009, 12h04
  2. Réponses: 1
    Dernier message: 11/12/2008, 09h12
  3. Réponses: 8
    Dernier message: 20/04/2007, 15h18
  4. Réponses: 4
    Dernier message: 20/03/2007, 19h28
  5. Réponses: 5
    Dernier message: 14/02/2006, 18h52

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