php


my while loop is in php its too much its out of control


This is my code in which my while is going out of order and I don't know what to do with it.
index.php
<!DOCTYPE html>
<html>
<head>
<title>Search</title>
</head>
<body>
<form action="process.php" method="post">
<input type="Search" name="search">
<br>
<input type="submit" name="submit">
</form>
<?php
$search_result = $_GET['result'];
while($search_result)
echo $search_result;
?>
</body>
And the problem is that the above while loop is iterating for the whole life and I can not stop it. What's the matter with it.
process.php
<?php
$conn = new mysqli('localhost', 'root', '', 'posts');
if(isset($_POST['submit']))
{
$search = htmlentities($_POST['search']);
$query = $conn->query("SELECT * FROM posts WHERE heading LIKE'%".$search."%'");
while ($row = $query->fetch_assoc()) {
$search1 = $row['heading'];
header("location:index.php?result='".$search1."'");
}
} else {
header('location:index.php');
}
?>
There are some problems, but you're actually pretty close to getting this working. Others have mentioned the SQL injection vulnerability in the comment, and it's a valid concern that you should address, but I'll just focus on the logic errors in this answer. There are really just two main problems.
First, you aren't getting all of your data in process.php.
Here, you're iterating your query results, but you're only going to get a header with the value of the last one.
while ($row = $query->fetch_assoc()) {
$search1 = $row['heading'];
header("location:index.php?result='".$search1."'"); // overwrites the location header
}
You need to accumulate the headings during the loop and call header once after the loop.
while ($row = $query->fetch_assoc()) {
$result['headings'][] = $row['heading']; // append the row value to an array instead
}
header('Location: index.php?' . http_build_query($result));
(http_build_query will convert the array to a string you can use in the URL.)
Second, you're using the wrong kind of loop in index.php.
Back in index.php, instead of
while($search_result) echo $search_result;
You can use a foreach loop (after checking that the array you're looking for really exists).
if (isset($_GET['headings'])) {
foreach($_GET['headings'] as $heading) {
echo $heading;
}
}
while($search_result) would only work if you were popping items off of $search_result until it became empty, or if you had a break based on some predictable condition.
Be careful not to try to pass too much data in the URL like this. There is a limit to how much it can take. If you're fetching much data, it would probably be better to include process.php and output the query results in the same page rather than submitting your form to process.php and redirecting back to index.php with the results in the query string.

Related Links

Codeigniter Search Pagination
php field with live evaluation
Can others see contents of variables in PHP?
Confirming Markdown Files
PHP SimpleXMLElement XPath Selection
PHP Unexpected T_encapsed [closed]
How to echo this specific value from a Database
Embedding a php function within a php form template variable
Yii - PHP error after content saying that LogDetailFilter couldn’t be found
mysql query , gives me wrong number of rows am after
How do I include a range of lines of a file in php?
How to display and manipulate visual objects in a web app?
Please help me with my comment sections sql query
How to extract data from this JSON ? [closed]
Image cropping and thumb creation
How to draw a name in a database [duplicate]

Categories

HOME
android-espresso
xcode
tomcat
openxml
livecode
concurrency
selenium-builder
out-of-memory
typeerror
tabs
timber
swarm
clickable-image
smartgwt
amazon-elb
sonata
webstore
global-variables
vertica
web-deployment
multiple-tables
adobe-illustrator
data-type-conversion
channel
tracing
morris.js
beego
xdebug
python-imageio
gravity-forms-plugin
basex
sales
monitor
dotcms
tightvnc
snap-framework
delayed-job
om-next
counting
cartopy
android-alarms
unification
cheat-engine
assert
plane
oauth2-playground
coverage.py
bit-shift
deployd
scala-breeze
md5-file
amazon-elastic-beanstalk
htmlspecialchars
gmaps.js
degrees
hmmlearn
researchkit
mathjs
visual-studio-monaco
zynq
mathml
oci
wolfram-language
declarative
adp
apple-configurator
wepay
python-cffi
nastran
libz
org-babel
fuseesb
android-audiomanager
nanomsg
nachos
fileshare
hotswap
cpu-time
property-injection
profiles
django-sites
discovery
apache-shindig
xsd2code
.net-remoting
ofstream
user-forums
daap
xcode4.5
arrow
trialware
will-paginate
data-dump
kohana-auth
rtd
upshot
jquery-1.4
mygeneration
solandra
spring-modules
jquery-effects
twitter-feed

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App