Problems with Elseif

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 "";
echo '';
echo "";
echo '';
}

elseif ($priority == '2')

{
echo '';
echo "";
echo '';
echo "";
echo '';
}

else

{
echo '';
echo "";
echo '';
echo "";
echo '';
}

}
echo '
$row->company
test1
$row->company
test2
$row->company
test3
';

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\n\n";
echo "\n\n\n";
>
> }
> echo '
{$row->company}
{$type}
';

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 "";
> echo '';
> echo "";
> echo '';
> }
>
> elseif ($priority == '2')
>
> {
> echo '';
> echo "";
> echo '';
> echo "";
> echo '';
> }
>
> else
>
> {
> echo '';
> echo "";
> echo '';
> echo "";
> echo '';
> }
>
> }
> echo '
$row->company
test1
$row->company
test2
$row->company
test3
';
>
> 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