Problems with Elseif
am 18.10.2007 16:44:22 von Alec
What am I doing wrong with this elseif condition?
$query = "SELECT company, priority FROM companyid_uks49179 WHERE
town='Bury St. Edmunds' AND category='sleep' AND priority IN
('1', '2', '3') ORDER BY priority";
This returns a result set of a number of companies with different
priority numbers from 1 to 3. see webpage http://www.freeweekends.co.uk/test3.php
I now want to create a table result for each one, with an 'elseif'
statement creating a different effect for each of the three different
priorities.
$result = mysql_query($query) or die ('Error in query: $query. ' .
mysql_error());
echo '
';
while($row = mysql_fetch_object($result))
{
$priority = $row['priority'];
if ($priority == '1')
{
echo '';
echo "$row->company | ";
echo '
';
echo "test1 | ";
echo '
';
}
elseif ($priority == '2')
{
echo '
';
echo "$row->company | ";
echo '
';
echo "test2 | ";
echo '
';
}
else
{
echo '
';
echo "$row->company | ";
echo '
';
echo "test3 | ";
echo '
';
}
}
echo '
';
This returns all the results as if they were not priority 1 or 2. See
http://www.freeweekends.co.uk/test2.php
Beginners question I know, but what am I doing wrong???
Many thanks
Alec
Re: Problems with Elseif
am 18.10.2007 18:33:19 von Shion
Alec wrote:
> What am I doing wrong with this elseif condition?
>
> $query = "SELECT company, priority FROM companyid_uks49179 WHERE
> town='Bury St. Edmunds' AND category='sleep' AND priority IN
> ('1', '2', '3') ORDER BY priority";
>
> This returns a result set of a number of companies with different
> priority numbers from 1 to 3. see webpage http://www.freeweekends.co.uk/test3.php
>
> I now want to create a table result for each one, with an 'elseif'
> statement creating a different effect for each of the three different
> priorities.
I'm that much into usage of else if when I have this kind of options, I
suggest you try out a switch.
> $result = mysql_query($query) or die ('Error in query: $query. ' .
> mysql_error());
>
> echo '
';
>
> while($row = mysql_fetch_object($result)) {
//No values are in an array['priority'], they are in an object->priority;
switch($row->priority) {
case '1':
$type='test1';
break;
case '2':
$type='test2';
break;
case '3':
$type='test3';
break;
default:
$type='unknown';
break;
}
echo "\n{$row->company} | \n
\n";
echo "\n{$type} | \n\n";
>
> }
> echo '
';
You may have to take a better look at your indentation and your html validity.
Don't duplicate code when you can have it once, this way you can make your
code shorter, functions will be a good thing to use if you have same code that
you need to use in different places.
--
//Aho
Re: Problems with Elseif
am 18.10.2007 18:50:43 von Jerry Stuckle
Alec wrote:
> What am I doing wrong with this elseif condition?
>
> $query = "SELECT company, priority FROM companyid_uks49179 WHERE
> town='Bury St. Edmunds' AND category='sleep' AND priority IN
> ('1', '2', '3') ORDER BY priority";
>
> This returns a result set of a number of companies with different
> priority numbers from 1 to 3. see webpage http://www.freeweekends.co.uk/test3.php
>
> I now want to create a table result for each one, with an 'elseif'
> statement creating a different effect for each of the three different
> priorities.
>
> $result = mysql_query($query) or die ('Error in query: $query. ' .
> mysql_error());
>
> echo '
';
>
> while($row = mysql_fetch_object($result))
>
> {
> $priority = $row['priority'];
>
> if ($priority == '1')
>
> {
> echo '';
> echo "$row->company | ";
> echo '
';
> echo "test1 | ";
> echo '
';
> }
>
> elseif ($priority == '2')
>
> {
> echo '
';
> echo "$row->company | ";
> echo '
';
> echo "test2 | ";
> echo '
';
> }
>
> else
>
> {
> echo '
';
> echo "$row->company | ";
> echo '
';
> echo "test3 | ";
> echo '
';
> }
>
> }
> echo '
';
>
> This returns all the results as if they were not priority 1 or 2. See
> http://www.freeweekends.co.uk/test2.php
>
> Beginners question I know, but what am I doing wrong???
>
> Many thanks
>
> Alec
>
>
Maybe it should be
if ($priority == 1) ...
And J.O.'s suggestion to use switch is good.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Re: Problems with Elseif
am 18.10.2007 18:53:52 von Shion
Jerry Stuckle wrote:
> Alec wrote:
>> What am I doing wrong with this elseif condition?
>>
>> $query = "SELECT company, priority FROM companyid_uks49179 WHERE
>> town='Bury St. Edmunds' AND category='sleep' AND priority IN
>> ('1', '2', '3') ORDER BY priority";
>>
>> This returns a result set of a number of companies with different
>> priority numbers from 1 to 3. see webpage
>> http://www.freeweekends.co.uk/test3.php
>>
>> I now want to create a table result for each one, with an 'elseif'
>> statement creating a different effect for each of the three different
>> priorities.
>>
>> $result = mysql_query($query) or die ('Error in query: $query. ' .
>> mysql_error());
>>
>> echo '
';
>>
>> while($row = mysql_fetch_object($result))
>>
>> {
>> $priority = $row['priority'];
> Maybe it should be
>
> if ($priority == 1) ...
>
> And J.O.'s suggestion to use switch is good.
>
The $row is a object, and he tries to use it as an array, so $priority is
nothing/null, which mean it never can be 1,2 and therefore always will fall in
the last else-statement.
--
//Aho
Re: Problems with Elseif
am 18.10.2007 20:10:29 von Jerry Stuckle
J.O. Aho wrote:
> Jerry Stuckle wrote:
>> Alec wrote:
>>> What am I doing wrong with this elseif condition?
>>>
>>> $query = "SELECT company, priority FROM companyid_uks49179 WHERE
>>> town='Bury St. Edmunds' AND category='sleep' AND priority IN
>>> ('1', '2', '3') ORDER BY priority";
>>>
>>> This returns a result set of a number of companies with different
>>> priority numbers from 1 to 3. see webpage
>>> http://www.freeweekends.co.uk/test3.php
>>>
>>> I now want to create a table result for each one, with an 'elseif'
>>> statement creating a different effect for each of the three different
>>> priorities.
>>>
>>> $result = mysql_query($query) or die ('Error in query: $query. ' .
>>> mysql_error());
>>>
>>> echo '
';
>>>
>>> while($row = mysql_fetch_object($result))
>>>
>>> {
>>> $priority = $row['priority'];
>
>> Maybe it should be
>>
>> if ($priority == 1) ...
>>
>> And J.O.'s suggestion to use switch is good.
>>
> The $row is a object, and he tries to use it as an array, so $priority is
> nothing/null, which mean it never can be 1,2 and therefore always will fall in
> the last else-statement.
>
Ah, I missed that one. Good catch! I just always use
mysql_fetch_array(). :-)
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Re: Problems with Elseif
am 18.10.2007 20:17:14 von Shion
Jerry Stuckle wrote:
> J.O. Aho wrote:
>> Jerry Stuckle wrote:
>>> Alec wrote:
>>>> What am I doing wrong with this elseif condition?
>>>>
>>>> $query = "SELECT company, priority FROM companyid_uks49179 WHERE
>>>> town='Bury St. Edmunds' AND category='sleep' AND priority IN
>>>> ('1', '2', '3') ORDER BY priority";
>>>>
>>>> This returns a result set of a number of companies with different
>>>> priority numbers from 1 to 3. see webpage
>>>> http://www.freeweekends.co.uk/test3.php
>>>>
>>>> I now want to create a table result for each one, with an 'elseif'
>>>> statement creating a different effect for each of the three different
>>>> priorities.
>>>>
>>>> $result = mysql_query($query) or die ('Error in query: $query. ' .
>>>> mysql_error());
>>>>
>>>> echo '
';
>>>>
>>>> while($row = mysql_fetch_object($result))
>>>>
>>>> {
>>>> $priority = $row['priority'];
>>
>>> Maybe it should be
>>>
>>> if ($priority == 1) ...
>>>
>>> And J.O.'s suggestion to use switch is good.
>>>
>> The $row is a object, and he tries to use it as an array, so
>> $priority is
>> nothing/null, which mean it never can be 1,2 and therefore always will
>> fall in
>> the last else-statement.
>>
>
> Ah, I missed that one. Good catch! I just always use
> mysql_fetch_array(). :-)
Thats the most common one I use, but nowadays I been more using mysqli, but
when writing soap server stuff, I have run into trouble of using mysqli and
have in those use mysql instead. So I compile always php with both mysql and
mysqli support, at least until I have rewritten all old scripts and the soap
trouble is solved somehow.
--
//Aho