У меня возникли проблемы с получением информации из формы ColdFusion на страницу действия и отображением того, что необходимо. Я должен отобразить выбранный продукт и фирменное наименование для этого продукта на основе продукта, выбранного из формы.ColdFusion SELECT с INNER JOIN из формы
Вот код из моей страницы формы:
<form action="productinfo.cfm" method="post">
<cfoutput query = "getProducts">
...
<input type="radio" name="prods" value="#getProducts.productname#">
#getProducts.productname#
...
</cfoutput>
<input type="submit" value="Submit">
</form>
Вот код, с моей страницы действий:
<cfset prodname = form.prods>
<cfquery name = "JoinProdSupp" datasource = "jeb48_northwind">
SELECT Products.ProductName, Suppliers.CompanyName
FROM Suppliers INNER JOIN Products
ON Suppliers.SupplierID = Products.SupplierID
WHERE (((Products.ProductName)='#prodname#'));
</cfquery>
Я точно не знаю, как вывести содержимое запроса ,
При выполнении запроса вы должны использовать параметр запроса по разным причинам. В вашем выходном коде, поскольку у вас есть атрибут запроса в вашем теге cfoutput, квалифицировать переменную с именем запроса необязательно. –
@DanBracuk прав, и, чтобы быть ясным, он означает как это .. WHERE (((Products.ProductName) = )). CFQueryParam является важной защитой от внедрения sql. http://help.adobe.com/livedocs/coldfusion/8/htmldocs/help.html?content=Tags_p-q_18.html. Также обратите внимание на отсутствие кавычек вокруг тега , cfqueryparam добавляет кавычки, как это определено выбранным cfsqltype. –
Имя запроса действительно не нужно, но если этот блок cfoutput растет и усложняется, очень приятно иметь его там, особенно когда кто-то еще приходит и пытается выяснить, откуда идут переменные. – Barry