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 :

afficher contenue dans tableau


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut afficher contenue dans tableau
    bonjour,
    voila une question simple mais qui me pause problème je récupère d'un formulaire html des données qu’une personne choisi ici le nom et le prénom pour ensuite afficher toutes les personnes qui ont le même nom que cela soit un homme ou une femme. Mais mon script n’affiche que la première entrée de ma table sous SQL


    voici mon code html :
    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
    <html>
    <head>
     
    </head>
    <body>
     
    <form name="frm" method="post" action="2.asp">
    Civilité :
    <select name="civil">
    <option value="*">Tous</option>
    <option value="1">Monsieur</option>
    <option value="2">Madame</option>
    <option value="3">Mademoiselle</option>
    </select><br>
    Nom : <input type="text" name="nom"><br>
    Prénom : <input type="text" name="prenom"><br>
    Voulez-vous combiner avec ET 
    <input type="radio" name="combine" value="AND" checked>
    ou OU 
    <input type="radio" name="combine" value="OR"><br>
    <input type="submit" name="submit" value="Rechercher">
    </form>
    </body>
    </html>
    et voici le code 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
    <% 
    Set objConnbis = Server.CreateObject("ADODB.Connection")
    	objConnbis.ConnectionString =Session("dbconnection")
    	objConnbis.Open
    	Set warrantter = Server.CreateObject("ADODB.recordset")
    	warrantter.CursorType = 3
    	warrantter.CursorLocation = 3
    	warrantter.LockType = 3
     
    ope=" " & Request.Form("combine") & " "
    strQuery="select * from agents WHERE 'AND'='" & Request.Form("combine") & "'" 
     
    if Request.Form("civil")<>"*" then SQL=SQL & ope & "civil=" & Request.Form("civil") 
     
    if Request.Form("nom")<>"" then SQL=SQL & ope & "nom LIKE '%" & Request.form("nom") & "%'" 
     
    if Request.Form("prenom")<>"" then SQL=SQL & ope & "prenom LIKE '%" & Request.form("prenom") & "%'" 
     
     
    Set warrantter = objConnbis.Execute (strQuery)
     
    response.write (warrantter("civil")&" "&warrantter("nom")&" "&warrantter("prenom")&" "&warrantter("prix")) 
     
    %>
    merci d'avance

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Un petit tour dans les tutos devrait pouvoir te sortir d'affaire:http://florian.developpez.com/asp/?page=page_6.

    Voir plus particulièrement les sections intitulées
    - se déplacer dans un jeu d'enregistrement
    - petit exemple

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    Comme c'est dimanche, je vais t'éviter de chercher dans les tutos.

    En faisant ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set warrantter = objConnbis.Execute (strQuery)
    , tu as créé un recordset dans lequel tu as mis le résultat de ta requête. Ce résultat est une sorte de tableau. Donc, quand tu affiches le résultat, tu récupères le premier enregistrement. C'est ce que tu as là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write (warrantter("civil")&" "&warrantter("nom")&" "&warrantter("prenom")&" "&warrantter("prix"))
    A noter, si ta requête est vide, ta plage plante car il n'y a pas de données.

    Donc dans ton cas, il faut faire une boucle sur le recordset pour récupérer tous les résultats. Une boucle jusqu'à ce qu'on atteigne la fin du recordset.
    Ca donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while not warrantter.eof
      response.write "<br>" & (warrantter("civil")&" "&warrantter("nom")&" "&warrantter("prenom")&" "&warrantter("prix")) 
      warrantter.movenext
    wend
    Et là tu devrais voir tous tes résultats.

    Voilà m'sieur. Si ça te convient, n'oublie pas de mettre le topic en résolu.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    merci pour tes infos, mais maintenant ca affiche tout ce qui se trouve dans la base et non pas suivant les critére choisi du formulaire.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    En effet, regarde ton code, la requête que tu exécutes ne tiens pas compte du filtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    strQuery="select * from agents WHERE 'AND'='" & Request.Form("combine") & "'" 
     
    if Request.Form("civil")<>"*" then SQL=SQL & ope & "civil=" & Request.Form("civil") 
     
    if Request.Form("nom")<>"" then SQL=SQL & ope & "nom LIKE '%" & Request.form("nom") & "%'" 
     
    if Request.Form("prenom")<>"" then SQL=SQL & ope & "prenom LIKE '%" & Request.form("prenom") & "%'" 
     
     
    Set warrantter = objConnbis.Execute (strQuery)
    Tu lances la requête strQuery alors que le filtre est appliqué sur SQL.
    Il te manque un truc de ce genre à la fin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strQuery = strQuery & SQL
    Sinon, affiche ta requête avant de la lancer et regarde si elle est bonne. Et d'ailleurs, je ne comprends pas ce que tu veux faire là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strQuery="select * from agents WHERE 'AND'='" & Request.Form("combine") & "'"
    Je suppose que request("combine") correspond à du ET ou OU, mais je ne vois pourquoi tu fais ça dans la requête.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    en fait c'est pour dire que si la personne rentre le nom + un prémon que sa affiche le bon resultat mais il est vrai que le OU ne sert a rien

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Résolu?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    lol non en faite les modifications ne font aps d'erreurs mais je ne recupere pas ce que l'utilisateur met dans le formulaire la page asp s'execute et affiche tout betement le contenu d'une table...

  9. #9
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Peux-tu nous passer le script de ta requete SQL (Response.Write strQuery)?

Discussions similaires

  1. [MySQL] affiché résultat dans tableau croisé
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/10/2012, 15h16
  2. [SQLite] Afficher contenu dans une ListView
    Par MisterS dans le forum Composants graphiques
    Réponses: 24
    Dernier message: 30/07/2011, 11h12
  3. Réponses: 4
    Dernier message: 25/09/2007, 09h34
  4. [TP] Afficher des chaînes contenues dans un tableau
    Par mah00 dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 20/05/2007, 09h15
  5. Réponses: 7
    Dernier message: 16/05/2007, 10h40

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