Re: Question re empty query

From: Date: Wed, 09 Mar 2005 17:53:18 +0000
Subject: Re: Question re empty query
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-210330@lists.php.net to get a copy of this message
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 }

« previous php.general (#210330) next »