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

Insert NULL in mysql (blob) using PHP
How to implement SQL authentication in socket.io and separate rooms for group?
php http response header
How to create a automatic <table> if there is data in the database, php
SimpleSAML and Symantec O3
Laravel Validation: Validating OR instead of AND
Laravel Eloquent Model Attributes
PHP \ MySql query error
making a Tree with Entities
PHP is not working when function parameter is assigned to variable
Compare two arrays and echo difference
jQuery check two fields in one remote, mysql one table
How to rewrite a URL in Yii framework?
Joomla 2.5 jroute trouble with localhost
Recursive PHP function gets only first values
No such file or directory error using mkdir

Categories

HOME
php
cocoapods
elasticsearch
events
mpdf
freeradius
barcode-scanner
workflow
concurrency
ios-simulator
video-streaming
phpstorm-2017.1
graphdb
game-maker
tfsbuild
renderscript
cpu-usage
bazaar
web-analytics
multi-upload
channel
websphere-portal
substring
cell
restier
opentext
data-collection
morris.js
php-5.3
npoi
adapter
ninject
boolean-logic
unmarshalling
amazon-iam
openbr
credit-card
premake
publishing
series
rspec-rails
gnu-classpath
cmis
dreamfactory
pdfnet
ftp-server
cordys-opentext
djcelery
twilio-php
installanywhere
forms-authentication
macports
aurelia-cli
variable-variables
assemblies
spring-restcontroller
icepdf
qvtkwidget
sonarqube5.2
datediff
apache-modules
hmmlearn
nrf51
spring-mongo
uitest
domino-designer-eclipse
web-api
clarion
prism-4
html-escape-characters
htmltidy
password-recovery
xml-signature
rpg
bittorrent-sync
typesafe-stack
iosched
armv6
visual-c++-2005
progress-db
dibs
semicolon
oembed
multiscaleimage
instance-variables
websphere-6.1
kolite
mmc3
datacontracts
play2-mini
mediacontroller
digiflow
active-record-query
mongrel
tacit-programming
iphone-sdk-3.1.3
acceleration
isapi-redirect
synthesizer

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