Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

php echo error... why? easy easy question for someone who knows...

Posted on 2006-06-13
9
293 Views
Last Modified: 2010-04-17
echo "<FORM ACTION='process_addkeyword.php' METHOD=POST>\n";
echo "<div>New Keyword: <INPUT type="text" name="keyword" /></div>\n";

$sCategoryList = "SELECT DISTINCT sCategoryName FROM sCategories ORDER BY sCategoryName";
$sCategoryResult = mysql_query($sCategoryList) or die("Couldn't execute query.");

I get an error on the second line

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'

I'm trying to do an html form here.. i think this is probably rediculously easy to fix and that I'm missing the finner points of echo .. could someone enlighten me here..
0
Comment
Question by:cstormer
  • 6
  • 3
9 Comments
 

Author Comment

by:cstormer
ID: 16897762
ok, i got the errors to go away it looks like " and ' have importance... a new question..

$sCategoryList = "SELECT DISTINCT sCategoryName FROM scategories ORDER BY sCategoryName";
$sCategoryResult = mysql_query($sCategoryList) or die("Couldn't execute query.");
echo '<div><SELECT name= "sCategory">\n';
while ($row = mysql_fetch_array($sCategoryResult))
{
      extract($row);
      echo "<option value='$sCategory'>$sCategory\n";
}
echo '</select>';

My dropdown list is blank... it drops the correct number of fields but there is nothing in the list.. any thoughts?
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 16897791
cstormer,

The problem is the quote marks that are used in the tag with the attributes.  You should make the line like this ...

echo "<div>New Keyword: <INPUT type=\"text\" name=\"keyword\" /></div>\n";

The back slash will comment the double quote so that it doesn't close the string.  You could also use a line like this replacing the beginning and ending double quote with a single quote.

echo '<div>New Keyword: <INPUT type="text" name="keyword" /></div>\n';

Let me know if you have a question or need more information.

b0lsc0tt
0
 

Author Comment

by:cstormer
ID: 16897835
ok so it's good to know i need to escape the quotes but that doesn't 100% explain the problem with this line..

{
     extract($row);
     echo "<option value='$sCategory'>$sCategory\n";
}

my query works, but it doesn't actually show anything in the drop down box that it creates.. there are 5 items in the database and it displays a 5 item drop down list that is empty.. that is kind o fhow i know the query works... it seems something is wrong with that option line.. that doesn't let the value display in a browser?
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 

Author Comment

by:cstormer
ID: 16897847
if what i just doesn't make sense here is a link..

http://zeus.chrisstormer.com/addkeyword.php
0
 
LVL 54

Accepted Solution

by:
b0lsc0tt earned 500 total points
ID: 16897920
Try changing the line to this ...

     echo '<option value="' . $sCategory . '">' . $sCategory;

Use double quotes to make sure that your HTML tags are valid and surround the strings with single quotes.  You also need to concatenate the strings and the variables.  That is what the period does in the line above.  It will combine a string with another string or a variable.  Notice that I close the string after the double quotes (value=") and then use a period to add the variable.  I continued with that same idea for the rest of that line.  You should not need the line break (\n) until after the closing option tag.  The complete line could look like this ...

     echo '<option value="' . $sCategory . '">' . $sCategory . '</option>\n';

Let me know if you have any questions or need more information.
0
 

Author Comment

by:cstormer
ID: 16898006
So I put this linke in like you said.. and I see what you mean about opening and closing the ' and concatenating the strings and variables... but
the problem is the list is still displaying empty.. it's like it kind of see's the values in the database (it makes a drop down menu of 5) but it returns blank results.. what could possibly explain this..
0
 

Author Comment

by:cstormer
ID: 16898022
I feel like maybe i'm doing something wrong with my query?

$sCategoryList = "SELECT DISTINCT sCategoryName FROM scategories ORDER BY sCategoryName";
$sCategoryResult = mysql_query($sCategoryList) or die("Couldn't execute query.");
echo '<div><SELECT name= "sCategory">\n';
while ($row = mysql_fetch_array($sCategoryResult))
{
      extract($row);
      echo '<option value="' . $sCategory . '">' . $sCategory . '</option>\n';
}

0
 

Author Comment

by:cstormer
ID: 16898067
Thanks for all the help.. i went back and started again and rewrote and found what i did wrong :) Thanks!!
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 16898095
Your welcome!  I'm glad that I could help.  Thank you for the grade, the points and the fun question.

bol
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
This is about my first experience with programming Arduino.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question