COMMANDE SQL

J'ai deux tables(access 2002), la premire est nommée categorie (id_cat, nom ) l'autre produits (id_produit, id_cat, nomProduit ) et je veux afficher sur le site pour chaque catégorie le nombre corréspondant de produits
exple Categorie1 (5)
Catégorie2 (10 ) etc.....
Merci de votre aide

4 réponses

  1. ça marche :)))) t'es un crack Mille merci, cool de ta part latrac
    0
    1. tiens je savais pas que frontpage était capable de générer des bout de code ASP ... je ne me trompe pas ???

      le seul probléme est que ce script comporte des includes (où il y a certainement les fonctions de connexion et autre cochonneries spécial frontpage).

      Sans ces fichier (ou même avec d'ailleurs... j'en suis sûr) la lecture en est rendue plus difficille.

      -attention ce n'est pas une critique des includes-
      un conseil :
      fais ta propre page ASP car les pages seront beaucoup plus propre.
      Sinon si tu tiens à te faire assister par un bon logiciel utilise dreamweaver Ultradev.

      bon rapidement (page produits.asp):

      sub ConnectBD()//solution avec DSN mais à toi de voir
      Set objconnexion = CreateObject("ADODB.Connection")
      objconnexion.Open("Provider=......;dsn=.....;Database=DNS;uid=sa;")
      end sub

      sub DisconnectBD()
      objconnexion.close()
      set objconnexion=nothing
      end sub

      dim StrListProd
      ConnectBD()
      'selection des produits appartenant à la catégorie recherchée
      sql = "SELECT * FROM PRODUITS WHERE id_cat = '" & request("idcategorie")& "'"
      Set RsProd = objconnexion.Execute(sql)
      irowCount = 0
      StrListProd = "<option value="""" selected> </option>"

      While Not RsProd.EOF
      StrListProd= StrListProd & "<option value="""& RsProd("id_produit")& """ >" & RsProd("nomproduit")& "</option>"
      irowCount = irowCount + 1
      RsProd.MoveNext
      Wend
      DisconnectBD()

      response.write "<select>" & StrListProd & "</select>"

      explication (rapidement):
      ta pages produits.asp ne doit pas récupérer un nom de catégorie mais un code catégorie (sauf si le nom de la catégorie est discriminant )

      par la suite tu exécute une requete pour choper tous les produits :
      sql = "SELECT * FROM PRODUITS WHERE id_cat = '" & request("idcategorie")& "'"

      @+
      0
      1. peux tu mettre tous ce qui précéde dans ton script ... (notamment la partie connexion à ta BD)

        @+
        0
        1. Voilà, mais je crois que je vais abondonner cet editeur, car au point de vue scripting il est crade parait _ il :)))
          Merci encore

          <!--webbot bot="DatabaseRegionStart" s-columnnames="id_site,id_cat,titre,url" s-columntypes="3,3,202,202" s-dataconnection="test" b-tableformat="TRUE" b-menuformat="FALSE" s-menuchoice s-menuvalue b-tableborder="TRUE" b-tableexpand="TRUE" b-tableheader="TRUE" b-listlabels="TRUE" b-listseparator="TRUE" i-listformat="0" b-makeform="FALSE" s-recordsource s-displaycolumns="titre,url" s-criteria s-order s-sql="SELECT * FROM sites WHERE nomcategorie='::nomcategorie::'" b-procedure="FALSE" clientside suggestedext="asp" s-defaultfields="nomcategorie=" s-norecordsfound="Aucun enregistrement renvoyé." i-maxrecords="256" i-groupsize="5" botid="0" u-dblib="_fpclass/fpdblib.inc" u-dbrgn1="_fpclass/fpdbrgn1.inc" u-dbrgn2="_fpclass/fpdbrgn2.inc" tag="TBODY" preview="&lt;tr&gt;&lt;td colspan=64 bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot; width=&quot;100%&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Début d'une requête de résultats de base de données. La page doit être accédée depuis un serveur Web par un navigateur Web pour s'afficher correctement&nbsp;; le site Web en cours est placé sur votre disque local ou sur le réseau.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;" startspan --><!--#include file="_fpclass/fpdblib.inc"-->
          <% if 0 then %>
          <SCRIPT Language="JavaScript">
          document.write("<div style='background: yellow; color: black;'>Le composant Résultats de base de données de cette page n'est pas en mesure d'afficher le contenu de la base de données. Le nom du fichier de la page doit se terminer par « .asp » et le site Web doit être hébergé sur un serveur qui prend en charge les pages ASP.</div>");
          </SCRIPT>
          <% end if %>
          <%
          fp_sQry="SELECT * FROM sites WHERE nomcategorie='::nomcategorie::'"
          fp_sDefault="nomcategorie="
          fp_sNoRecords="<tr><td colspan=2 align=left width=""100%"">Aucun enregistrement renvoyé.</td></tr>"
          fp_sDataConn="test"
          fp_iMaxRecords=256
          fp_iCommandType=1
          fp_iPageSize=5
          fp_fTableFormat=True
          fp_fMenuFormat=False
          fp_sMenuChoice=""
          fp_sMenuValue=""
          fp_iDisplayCols=2
          fp_fCustomQuery=True
          BOTID=0
          fp_iRegion=BOTID
          %>
          <!--#include file="_fpclass/fpdbrgn1.inc"-->
          <!--webbot bot="DatabaseRegionStart" endspan i-checksum="11849" --><tr>
          <td>
          <!--webbot bot="DatabaseResultColumn" s-columnnames="id_site,id_cat,titre,url" s-column="titre" b-tableformat="TRUE" b-hashtml="FALSE" b-makelink="FALSE" clientside b-MenuFormat preview="&lt;font size=&quot;-1&quot;&gt;&amp;lt;&amp;lt;&lt;/font&gt;titre&lt;font size=&quot;-1&quot;&gt;&amp;gt;&amp;gt;&lt;/font&gt;" startspan --><%=FP_FieldVal(fp_rs,"titre")%><!--webbot bot="DatabaseResultColumn" endspan i-checksum="10833" --></td>
          <td>
          <!--webbot bot="DatabaseResultColumn" s-columnnames="id_site,id_cat,titre,url" s-column="url" b-tableformat="TRUE" b-hashtml="FALSE" b-makelink="FALSE" clientside b-MenuFormat preview="&lt;font size=&quot;-1&quot;&gt;&amp;lt;&amp;lt;&lt;/font&gt;url&lt;font size=&quot;-1&quot;&gt;&amp;gt;&amp;gt;&lt;/font&gt;" startspan --><%=FP_FieldVal(fp_rs,"url")%><!--webbot bot="DatabaseResultColumn" endspan i-checksum="6849" --></td>
          </tr>
          <!--webbot bot="DatabaseRegionEnd" b-tableformat="TRUE" b-menuformat="FALSE" u-dbrgn2="_fpclass/fpdbrgn2.inc" i-groupsize="5" clientside tag="TBODY" preview="&lt;tr&gt;&lt;td colspan=64 bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot; width=&quot;100%&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Fin d'une requête de résultats de base de données.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;TR&gt;&lt;TD ALIGN=LEFT VALIGN=MIDDLE COLSPAN=64&gt;&lt;NOBR&gt;&lt;INPUT TYPE=Button VALUE=&quot; |&lt; &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot; &lt; &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot; &gt; &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot; &gt;| &quot;&gt; [1/5]&lt;/NOBR&gt;&lt;BR&gt;&lt;/td&gt;&lt;/tr&gt;" startspan --><!--#include file="_fpclass/fpdbrgn2.inc"-->
          <!--webbot bot="DatabaseRegionEnd" endspan i-checksum="62730" --></tbody>
          0
      2. SELECT nom, Count(id_produit) AS total
        FROM categorie,produits
        where categorie.id_cat = produits.id_cat
        GROUP BY nom;

        @+
        0
        1. Merci nabzone
          0
        2. Je vais t'embêter encore nabzone......
          quand je veux mettre un lien de catégorie vers une page qui affiche les produits de cette catégorie ça marche pas
          <a href="produits.asp?nomcategorie=<%=FP_FieldURL(fp_rs,"nomcategorie")%>">

          j'ai une erreur :
          Database Results Error
          Description: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.
          Number: -2147217904 (0x80040E10)
          Source: Microsoft OLE DB Provider for ODBC Drivers

          Je te rapplle que je travaille sur frontpage2002
          merci encore
          0