Ich habe mehrere Felder in einer Datenbank namens p1, p2, p3 und so weiter, sie werden von einer Abfrage namens GetUser zurückgegeben. Ich möchte ihre Werte überprüfen, aber der folgende Code führt zu Fehlern. Ich bin mir sicher, dass meine Formatierung 'GetUser.p # x #' falsch ist, aber ich kann nicht herausfinden, wie es geht. Jede Hilfe würde sehr geschätzt werden.benutze Variable in Feldname in einem cfloop
Ich habe den folgenden Code, der funktioniert ...
<cfquery name="GetUser">
SELECT id, p00, p01, p02, p03, p04, p05, p06
FROM users
where id = #session.user_id#
</cfquery>
<cfoutput query="GetUser">
<cfif p01 is 1><li>Post 01</li></cfif>
<cfif p02 is 1><li>Post 02</li></cfif>
<cfif p03 is 1><li>Post 03</li></cfif>
<cfif p04 is 1><li>Post 04</li></cfif>
<cfif p05 is 1><li>Post 05</li></cfif>
<cfif p06 is 1><li>Post 06</li></cfif>
</cfoutput>
Natürlich ist dies eine schreckliche Art und Weise, dies zu tun, so wollte ich eine Schleife tun wie wie folgt um das gleiche Ergebnis zu erzielen:
<cfloop index = "x" from = "1" to = "6">
<cfif GetUser.p0#x# is 1><li>Post #x#</li></cfif>
</cfloop>
Bt dies Fehler aus. Ich versuche zu verstehen, wie ich das erreichen kann.
// Es gibt eine ähnliche Frage, die darauf hinweist, dass queryName ["columnName"] [rowNumber] erforderlich ist. Das ist anders und einfacher.
'getUser ['p0' + x]' ist die Syntax für eine dynamische Variable in Ihrer Abfrage. –
Das sollte "von Ihrer Abfrage" sagen –
Schließen, aber nicht ganz. Beitrag 0 # x # \t Ergebnisse in Fehler: kann nicht werfen [p0] string zu einem Zahlenwert. –
mck