COMMANDE SQL

LATRAC -  
 LATRAC -
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. nabzone
     
    SELECT nom, Count(id_produit) AS total
    FROM categorie,produits
    where categorie.id_cat = produits.id_cat
    GROUP BY nom;

    @+
    0
    1. LATRAC
       
      Merci nabzone
      0
    2. LATRAC
       
      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
  2. nabzone
     
    peux tu mettre tous ce qui précéde dans ton script ... (notamment la partie connexion à ta BD)

    @+
    0
    1. latracc
       
      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
  3. nabzone
     
    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
  4. LATRAC
     
    ça marche :)))) t'es un crack Mille merci, cool de ta part latrac
    0