Display one's search query
7 posts by 2 authors in: Forums > CMS Builder
Last Post: August 18, 2011 (RSS)
I want my search page to look like this:
Search Results for "The search query they entered":
result1
result2 etc...
I got it working as I want, but how do I display the search query?
Thanks!
Re: [Hansaardappel] Display one's search query
By Jason - August 17, 2011
Are they entering just 1 search term, or multiple terms? Can you show us the form that they would be filling out to be searching?
Thanks
Jason Sauchuk - Project Manager
interactivetools.com
Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/
Re: [Jason] Display one's search query
<form method="post" action="search.php">
<input type="text" name="content,title_keyword" id="textfield" value="Search..." />
<button class="btn" title="Submit Search"></button>
</form>
Re: [Hansaardappel] Display one's search query
Re: [Hansaardappel] Display one's search query
By Hansaardappel - August 17, 2011 - edited: August 17, 2011
form code:
<form method="post" action="search.php">
<input type="text" name="tags,content,title_keyword" id="textfield" value="Search..." />
<button class="btn" title="Submit Search" name="submit"></button>
And in my search.php page I added the following line:
$searchquery = $_POST["tags,content,title_keyword"];
To display the results on search.php I use this code:
<h3>Search Results for "<?php echo $searchquery ?>"</h3><p></p>
<?php foreach ($articlesRecords as $record): ?>
Title: <?php echo $record['title'] ?><br/>
Category: <?php echo $numToName[$record['category']] ?><br/>
Tags: <?php echo $record['tags'] ?><br/>
_link : <a href="<?php echo $record['_link'] ?>"><?php echo $record['_link'] ?></a><br/>
<hr/>
<?php endforeach; ?>
<?php if (!$articlesRecords): ?>
No records were found!<br/><br/>
<?php endif ?>
The result is good, except for the category. The notice I get:
Notice: Undefined index: 2 in C:\xampp\htdocs\xampp\cmsbuilder\search.php on line 173
I found out that this has to do with the fact that I use $numToName, because I do get the result 2 (category 2) when I remove the $numToName part. Normally the $numToName function works fine though and it ALSO does in search.php if I delete $searchquery = $_POST["tags,content,title_keyword"];
Could anyone explain to me why the $numToName function doesn't work when I add the $searchquery = $_POST["tags,content,title_keyword"];
part? And even more important, does anyone have any suggestions on how to fix it?
Thanks again for your help :)
EDIT:
This is the code I use for $numToName at the top of my page:
$numToName=array();
foreach($categoryRecords as $record){
$numToName[$record['num']]=$record['name'];
}
Re: [Hansaardappel] Display one's search query
By Jason - August 18, 2011
What must be happening is that your query for $categoryRecords must not be returning a value for record number 2. The most likely reason for this is that your query for $categoryRecords is being affected by your search. You would want to return all records in that query.
You can try using the:
'allowSearch' => false,
option in the getRecords call for $categoryRecords.
If you are using CMS Builder version 2.04 or above, you can skip the $numToName code all together and use the ':label' pseudo field. The code would look like this:
Category: <?php echo $record['category:label'] ?><br/>
Hope this helps
Jason Sauchuk - Project Manager
interactivetools.com
Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/