Jackson Linux wrote:
Hi,
This:

if (isset($_GET['r']) &&
     !empty($_GET['r']) &&
     ($r = intval($_GET['r'])) ){
$r = "{$_GET['r']}"; //Set the variable $r to mean the category number
gods, that's an ugly statement... why don't you simply use $r = $_GET['r']; ????

$fields = '*';
$sort = "ORDER BY cv.sort";
} else {
$where = '';
$fields = 'cv.cv_id,cv.category,dates,cv.job_title,cv.company,cv.job,cv.sort, jobcat.category';
$sort = "ORDER BY cv.sort";
}


//Make the sql based on the joining of the table and intersection table
$sql = "
SELECT cv.cv_id,cv.category,dates,cv.job_title,cv.company,cv.job,cv.sort,jobcat .category
FROM cv, cvjobcats, jobcat
WHERE cvjobcats.cv_id=cv.cv_id AND cvjobcats.jobcat_id = $r AND jobcat.jobcat_id=cvjobcats.jobcat_id";


Works whenever there is an ?r= specified. When there is no r specified it chokes on

WHERE cvjobcats.cv_id=cv.cv_id AND cvjobcats.jobcat_id = $r AND jobcat.jobcat_id=cvjobcats.jobcat_id";

because there's no value to $r.

it also opens me up to allowing anyone to state *anything* after the ?.

So can I make an else statement which will say that if there's no r= or a wrong r= or even no ? at all then it should print a menu to $r's which actually exist in the database? How?

Thanks in advance!!!
You have 3 conditions in a single expression. Split that expression up into multiple expressions, so you can check each (or a combination of 2) individually.

so, instead of:
if (isset($_GET['r']) && !empty($_GET['r']) && ($r = intval($_GET['r']))){

do:
if (isset($_GET['r'])) {
        if(!empty($_GET['r']) && ($r = intval($_GET['r']))){
                // do whatever
        } else {
                // something boring
        }
} else {
        // not set
}

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to