Skip to main content
marcp12146864
Known Participant
September 11, 2018
Answered

Composant cfc ou include

  • September 11, 2018
  • 3 replies
  • 2251 views

Bonjour,

Je cherche à faire un composant ou un include pour faire une table qui alimente une autre table ( Pays - ville).

Etant débutant, j'ai trouvé du code sur un site mais malheureusement ...

<cfcomponent>

<cfform name="mycfform">

  <CFQUERY datasource="#session.dbname#" name="AddTable">

SELECT

Pays,

Ville

FROM Monde

WHERE sitename='#session.site#'

  <cfselect name="#Pays#" bind="cfc:bindFcns.getpays()" bindonload="true">

  <option name="0">--#Pays#--</option>

  </cfselect>

  <cfselect name="#Ville#" bind="cfc:bindFcns.getvilles({#pays#})">

  <option name="0">--#ville#--</option>

  </cfselect>

  </CFQUERY>

</cfform>

</cfcomponent>

Merci par avance

Marc

    This topic has been closed for replies.
    Correct answer BKBK

    Désespoir ! toujours pas de résultats malgré vos encouragements !

    Je ne sais plus où chercher !

    Despair! still no results despite your encouragement!

    I do not know where to look!


    Oh, two more things, just in case you need them:

    1) to display multiple items in the select list, use the size attribute.

    2) remove the <br> tag to display the lists side by side.

    For example, the following will display a maximum of 5 countries and 8 cities:

    <cfselect name="pays" bind="cfc:Cfc.bindFcns.getPays()" bindonload="true" size="5"/>

    <cfselect name="ville" bind="cfc:Cfc.bindFcns.getVilles({pays})" size="8"/>

    3 replies

    marcp12146864
    Known Participant
    September 21, 2018

    J'ai essayé de les mettre entre head ou entre body mais j'ai toujours le même message !

    I tried to put them between head or body but I always have the same message!

    Invalid CFML construct found on line 6 at column 1. 

      ColdFusion was looking at the following text:

    <

    The CFML compiler was processing:

      < marks the beginning of a ColdFusion tag.Did you mean LT or LTE?
      
      The error occurred in \\192.168.0.1\H3637\zennetbuilder.com\Admin\Cfc\bindFcns.cfc: line 6
    4 : </body> 

    Mercissss pour votre aide

    Mercissss for your help

    BKBK
    Adobe Expert
    September 21, 2018

    I think you misunderstood. Delete the following 2 lines from the file bindFcns.cfc

    <CFINCLUDE template="../admin/inc_init_admin.cfm">

    <CFINCLUDE template="../admin/inc_verif_var2.cfm">

    BKBK
    BKBKCorrect answer
    Adobe Expert
    October 6, 2018

    Désespoir ! toujours pas de résultats malgré vos encouragements !

    Je ne sais plus où chercher !

    Despair! still no results despite your encouragement!

    I do not know where to look!


    Oh, two more things, just in case you need them:

    1) to display multiple items in the select list, use the size attribute.

    2) remove the <br> tag to display the lists side by side.

    For example, the following will display a maximum of 5 countries and 8 cities:

    <cfselect name="pays" bind="cfc:Cfc.bindFcns.getPays()" bindonload="true" size="5"/>

    <cfselect name="ville" bind="cfc:Cfc.bindFcns.getVilles({pays})" size="8"/>

    marcp12146864
    Known Participant
    September 16, 2018

    I am trying to make a component or an include to make a table that feeds another table (Country - city).

    BKBK
    Adobe Expert
    September 16, 2018

    bindFcns.cfc

    <cfcomponent>

    <cffunction name="getPays" access="remote" returntype="array">

        <cfset var paysQry = "">

         <cfset var paysArray = arrayNew(2)>

        <cfquery name = "paysQry" dataSource = "#session.dbname#">

        SELECT Pays

        FROM Monde

        WHERE sitename=<cfqueryparam cfsqltype="cf_sql_varchar" value="#session.site#">

        ORDER BY pays

        </cfquery>

        <!--- Values for the first (the default) select option --->

        <cfset anneeArray[1][1]="">

        <cfset anneeArray[1][2]="Sélectionnez un pays">

        <cfloop query="paysQry">

        <cfset anneeArray[currentrow+1][1]=paysQry.pays>

        <cfset anneeArray[currentrow+1][2]=paysQry.pays>

        </cfloop>

        <cfreturn paysArray>

    </cffunction>

    <cffunction name="getVilles" access="remote" returntype="array">

        <cfargument name="cePays" required="true" type="string">

        <cfset var villesQry = "">

        <cfset var villesArray = arrayNew(2)>

        <cfquery name = "villesQry" dataSource = "#session.dbname#">

        SELECT ville

        FROM Monde

        WHERE pays = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.cePays#">

        ORDER BY ville  

        </cfquery>

        <!--- Values for the first (the default) select option --->

        <cfset villesArray[1][1]="">

        <cfset villesArray[1][2]="Sélectionnez une ville">

        <cfloop query="villesQry">

        <cfset villesArray[currentrow+1][1]=villesQry.ville>

        <cfset villesArray[currentrow+1][2]=villesQry.ville>

        </cfloop>

        <cfreturn villesArray>

    </cffunction>

    </cfcomponent>

    villes.cfm

    <cfform name="villesEtPays">

      <cfselect name="pays" bind="cfc:bindFcns.getPays()" bindonload="true" />

    <br>

      <cfselect name="ville" bind="cfc:bindFcns.getVilles({pays})" />

    </cfform>

    marcp12146864
    Known Participant
    September 17, 2018

    Bonjour,

    Avant tout merci pour cela.

    Mais malheureusement j'ai encore un soucis car j'ai ce message :

    bing failed for select box country. bing value is not a 2D array or valid serialized query.

    J'ai mis mon Cfc dans une directory Cfc à la racine.

    Merci par avance

    Cordialement

    Hello,

    First of all thank you for that.

    But unfortunately I still have a problem because I have this message:

    failed box for select box country. bing value is not a 2D array or valid serialized query.

    I put my Cfc in a Cfc directory at the root.

    thanks in advance

    cordially

    marcp12146864
    Known Participant
    September 13, 2018

    Pas d'aide ???

    Marc