views:

108

answers:

4

I have a tabled view in a while loop, where a user can view information on books.

For example, book ISBN, book name, read status...

Basically, when the user sets their 'readstatus' to 'complete' I want that specific table row to become grey! The logic is very straight forward, however I can't get my IF statement to recognise this:

if ($readstatus == 'complete') {
                        echo '<tr class="completed">';
              }

                    else if  ($readstatus != 'complete') {
                        echo '<tr class="reading">';
              } 

I'm obviously doing something wrong here, table content to change if the value of 'readstatus' = 'complete', if not, then output is the default

+1  A: 

Try changing $readstatus = $_GET['readstatus']; to $readstatus = $row['readstatus'];

Pies
Thanks for your help :D
Jess
+1  A: 

Why are you using $_GET? Does this information come from an HTML form or a URL etc... ?

I suspect you meant to change $readstatus = $_GET['readstatus']; to $readstatus = $row['readstatus'];.

$_GET is an aray of GET parameters which come from the query string.

$row is a row in your database, so if the information is in the database - which I suspect it is - you want to use $row instead of $_GET.

LeguRi
Thanks for this :D
Jess
A: 

The $_GET function relies on the value being contained in the query string of the URL, and it has nothing to do with the database. I have a hunch you're trying to get the value from the database here and you're using the wrong function to do it.

Scott Anderson
`$_GET` isn't a function though ;)
LeguRi
A: 

$_GET['readstatus'] says the value is coming from the browser. $row['readstatus'] says the value is coming from the database.

You need to decide which should take precedence-- probably the $_GET['readstatus']` because it's what the user wants to change. If that's the case, you need to update your database with the new readstatus before you requery the db for the dataset.

dnagirl