I am trying to work on below requirement in SFMC,
I have a Data Extension which consist of records like below :
And I have a CloudPage with search option as below :
Now what my ask is , When I input in search as 1 I need to fetch the first row from the DataExtension and display that in table row.
Something like this:
Ignore the action buttons.
When trying to publish getting below error:
Below is the code i am using:
<!DOCTYPE html>
<html>
<head>
<title>Search Record in DataExtension</title>
</head>
<body>
<h1>Search Record in DataExtension</h1>
<form method="post">
<label for="searchTerm">Enter ID :</label>
<input type="text" name="searchTerm" id="searchTerm">
<input type="submit" value="Search">
</form>
<br>
<div id="resultsDiv"></div>
<script runat="server">
// Retrieve search query from request parameters
var searchQuery = Request.GetQueryStringParameter("searchTerm");
// Initialize data extension object
var dataExtensionName = "TestRecords";
var data = DataExtension.Init(dataExtensionName);
// Build filter based on search query
var filter = {
Property: "ID",
SimpleOperator: "equals",
Value: searchTerm
};
// Retrieve rows based on filter
var rows = data.Rows.Retrieve(filter);
// Output row data in HTML table format
if (rows && rows.length > 0) {
Write('<table>');
Write('<tr><th>Fname</th><th>Lname</th><th>Fullname</th></tr>');
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
Write('<tr>');
Write('<td>' + row.Fname + '</td>');
Write('<td>' + row.Lname + '</td>');
Write('<td>' + row.Fullname + '</td>');
Write('</tr>');
}
Write('</table>');
} else {
Write('<p>No records found.</p>');
}
</script>
</body>
</html>
Can you please let me know what mistake I am making here..
Thanks in Advance :-)