By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,689 Members | 1,787 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,689 IT Pros & Developers. It's quick & easy.

Form Problem ! Please Help !

P: n/a
My form and results are on one page.
If I use :

if ($Company) {
$query = "Select Company, Contact
From tblworking
Where ID = $Company
Order By Company ASC";
}

if ($Name ) {
$query = "SELECT *
FROM TBLWorking
WHERE Contact Like '%$Name%'
ORDER BY Contact";
}
$result = mysql_query($query);
$number = mysql_numrows($result);
for ($i=0; $i<$number; $i++) {

$CompanyName = mysql_result($result,$i,"Company");
$ContactName = mysql_result($result,$i,"Contact");

Print "Company: $CompanyName";
Print "<P>Name: $ContactName";
}

As soon as I enter the page it searchs using $Name, even though I have not
entered any information.

This results in me getting a complete list printed on screen, with out me
having to search.

How do I get this to show just the form, then the form and the results ?

Thanks

Jul 16 '05 #1
Share this Question
Share on Google+
11 Replies


P: n/a
Same result.

As soon as I enter the page, I get a full list of all companies !

On Sat, 28 Jun 2003 23:58:58 +0200, "sotto" <ju**@sotto.be> wrote:
just a quick idea...
try if($company!=''){ ... and if($name!='') { ....


Jul 16 '05 #2

P: n/a
On Sat, 28 Jun 2003 22:45:50 +0100, James wrote:
My form and results are on one page.
If I use :

if ($Company) {
$query = "Select Company, Contact
From tblworking
Where ID = $Company
Order By Company ASC";
}
}
if ($Name ) {
$query = "SELECT *
FROM TBLWorking
WHERE Contact Like '%$Name%'
ORDER BY Contact";
}
}

$result = mysql_query($query);
$number = mysql_numrows($result);
for ($i=0; $i<$number; $i++) {

$CompanyName = mysql_result($result,$i,"Company"); $ContactName =
mysql_result($result,$i,"Contact");

Print "Company: $CompanyName";
Print "<P>Name: $ContactName";
}
}
As soon as I enter the page it searchs using $Name, even though I have not
entered any information.

This results in me getting a complete list printed on screen, with out me
having to search.

How do I get this to show just the form, then the form and the results ?

Thanks

Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>
Jul 16 '05 #3

P: n/a
Thanks.

Now when I enter the page it only has the form visible.

However, If I submit the form blank, then I get a complete list of all
companies.

Can that be trapped, If $Company & $Name are blank then just display the
form ??

Thanks

Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>


Jul 16 '05 #4

P: n/a

Sorry... It didn't work..

I created a copy of my page and renamed it, but I forgot to change the
Action in the Form, so I was loading the new page, and submitting the
results to the old page !!

Now I've changed the name of the page back, I load the new page and it
looks fine..

The form is submitted to the new page and I get NO results back !

Help !

Thanks
Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>


Jul 16 '05 #5

P: n/a
Message-ID: <cq********************************@4ax.com> from James
contained the following:
The form is submitted to the new page and I get NO results back !
Just spotted this:
From tblworking ....
FROM TBLWorking


--
Geoff Berrow
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Jul 16 '05 #6

P: n/a
On Sat, 28 Jun 2003 23:44:02 +0100, James wrote:
Thanks.

Now when I enter the page it only has the form visible.

However, If I submit the form blank, then I get a complete list of all
companies.

Can that be trapped, If $Company & $Name are blank then just display the
form ??

Thanks

Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>


if you used that structure i gave you, then it should be like this:

it generates the form,
then, if $company != '' then the query will be built to get records based
on company
then if $name != '' then the query will be built to get records based
on name

then if query != '' then you're generating the table ...

so if $name & $company are both '' then $query will be '' and no table
would be generated
try again changing if($company) into if($company != '') ... just to be
sure that that's not he problem (also with $name)
Jul 16 '05 #7

P: n/a
If your script is running under Windows:
Try using the "trim" function on your if statements. i.e.:
if ( !trim($name) ) {
// do something here
}

Why? I've noticed this under Windows, with a Windows client and a
Windows server...there is an additional newline, or carriage
return/newline on the end of some of the posted variables. The string
"\r\n" and the string "\n" counts as true when you check it in an if
statement. Since you can use the enter key to move between fields, or
use the enter key to post a form when there's only one text field, the
enter string is tacked onto the end of your posted variable.

James wrote:
Sorry... It didn't work..

I created a copy of my page and renamed it, but I forgot to change the
Action in the Form, so I was loading the new page, and submitting the
results to the old page !!

Now I've changed the name of the page back, I load the new page and it
looks fine..

The form is submitted to the new page and I get NO results back !

Help !

Thanks
Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>



Jul 16 '05 #8

P: n/a
Still not working...

Same results.. On entering the page, I get a complete list of companies...

On Sun, 29 Jun 2003 02:15:00 GMT, Jason Dumler
<du*********************@netscape.net> wrote:
If your script is running under Windows:
Try using the "trim" function on your if statements. i.e.:
if ( !trim($name) ) {
// do something here
}

Why? I've noticed this under Windows, with a Windows client and a
Windows server...there is an additional newline, or carriage
return/newline on the end of some of the posted variables. The string
"\r\n" and the string "\n" counts as true when you check it in an if
statement. Since you can use the enter key to move between fields, or
use the enter key to post a form when there's only one text field, the
enter string is tacked onto the end of your posted variable.

James wrote:
Sorry... It didn't work..

I created a copy of my page and renamed it, but I forgot to change the
Action in the Form, so I was loading the new page, and submitting the
results to the old page !!

Now I've changed the name of the page back, I load the new page and it
looks fine..

The form is submitted to the new page and I get NO results back !

Help !

Thanks
Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>



Jul 16 '05 #9

P: n/a
James,

Add some debugging output to your script. If it still doesn't work with
the suggestions provided here, then something that isn't obvious is
going on. Modify your original script as follows:

<?

print "<!--\n";
print "Script Init:\n";
print "\$Company: " . $Company . "\n";
print "\$Name: " . $Name . "\n";
print "\$query: " . $query . "\n";

if ($Company) {
print "\$Company found.\n";

$query = "Select Company, Contact
From tblworking
Where ID = $Company
Order By Company ASC";
}

if ($Name ) {
print "\$Name found.\n";

$query = "SELECT *
FROM TBLWorking
WHERE Contact Like '%$Name%'
ORDER BY Contact";
}

print "After if statements: \$query is:\n" . $query . "\n";

$result = mysql_query($query);

print "Ran query '" . $query . "' and received result: " . $result . "\n";

$number = mysql_numrows($result);

print "Number of rows resulting from query: " . $number . "\n";
print " End Debugging -->\n";

for ($i=0; $i<$number; $i++) {

$CompanyName = mysql_result($result,$i,"Company");
$ContactName = mysql_result($result,$i,"Contact");

Print "Company: $CompanyName";
Print "<P>Name: $ContactName";

?>

Then, after running the script, look in the page source at the debugging
comments you've added. As I said, something that isn't obvious is going
on, such as when you don't give the mysql_query function a query, it
just runs the last query you ever ran. This probably isn't happening,
but if it did, it would be unexpected, and your code doesn't handle that
particular case. The code others have submitted does though, which is
part of the mystery. You need to look at the debugging comments when
you submit nothing, submit something just for Company, submit something
just for Name, and something for both Company and Name. Then your
script will hopefully tell you exactly what it's doing, leading you to
whatever the solution is.

James wrote:
Still not working...

Same results.. On entering the page, I get a complete list of companies...

On Sun, 29 Jun 2003 02:15:00 GMT, Jason Dumler
<du*********************@netscape.net> wrote:

If your script is running under Windows:
Try using the "trim" function on your if statements. i.e.:
if ( !trim($name) ) {
// do something here
}

Why? I've noticed this under Windows, with a Windows client and a
Windows server...there is an additional newline, or carriage
return/newline on the end of some of the posted variables. The string
"\r\n" and the string "\n" counts as true when you check it in an if
statement. Since you can use the enter key to move between fields, or
use the enter key to post a form when there's only one text field, the
enter string is tacked onto the end of your posted variable.

James wrote:
Sorry... It didn't work..

I created a copy of my page and renamed it, but I forgot to change the
Action in the Form, so I was loading the new page, and submitting the
results to the old page !!

Now I've changed the name of the page back, I load the new page and it
looks fine..

The form is submitted to the new page and I get NO results back !

Help !

Thanks
Is this of any help?

<form>
<!-- your form -->
</form>
<?php
$query = '';
if($company){
$query = 'blabla';
}
if($name){
$query = 'blahblah';
}
if($query != ''){
// generate your table
}
?>


Jul 16 '05 #10

P: n/a
Geoff,

In mysql, case matters, so yes, he is referencing two seperate tables if
he changes case between the two queries. I'm curious as to why he's not
getting any errors with the code he's supplied. MySQL should complain
about the missing table, or the missing query, or the missing result
resource...

He didn't say whether he typed the code, or copied it from his source.

Jason

Geoff Berrow wrote:
Message-ID: <ja*********************@news1.central.cox.net> from Jason
Dumler contained the following:

Then your
script will hopefully tell you exactly what it's doing, leading you to
whatever the solution is.

He is still querying two different tables. TBLWorking is not the same as
tblworking is it?


Jul 16 '05 #11

P: n/a
On Sun, 29 Jun 2003 18:32:54 GMT, Jason Dumler
<du*********************@netscape.net> wrote:
In mysql, case matters, so yes, he is referencing two seperate tables if
he changes case between the two queries. I'm curious as to why he's not
getting any errors with the code he's supplied. MySQL should complain
about the missing table, or the missing query, or the missing result
resource...


MySQL's case-sensitivity for databases and tables depends on the
case-sensitivity of the underlying filesystem where the database/table files
are stored.

If you run it on Windows, you can get away with mixed case.

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)
Jul 16 '05 #12

This discussion thread is closed

Replies have been disabled for this discussion.