Re: switch and while

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Emiliano Boragina wrote:
Hi Chris,
Sorry... you're right!
With this I want to print the category in a html table after a search...
The search find the data, and print category and description. This category
is a number (ID), but I want to print the name of the category. My MYSQL
CATEGORY TABLE have ID and NAME, so using the SWITCH, I want to put in CASE
the ID and ECHO the NAME.
In other webs I do
switch($category) //where $category is an array fom the db
{
	case 1:
	echo "category1";
	break;

	case 2:
	echo "category2";
	break;

	...
}
I want the 1, 2, 3... like the ID from my table, and "category1,
category2..." like the NAME from my table
Do not know if it was understood...

There are a couple of ways you can do it and no need for a switch.


1) get the category name as part of the query itself

This works nicely if an article only fits into one category. If it fits into multiple categories, it gets a little messy (though it's still doable).

<guessing tablenames etc>
select * from articles where id='x';

becomes

select a.*, c.category_name from articles a inner join categories c on (a.category_id=c.category_id) where id='x';


2) load all categories at once and then print the relevant one

This works if you have a small number of categories available. If you have a lot (50+) then I'd look at the first method.

$category_list = array();
$category_query = "select * from categories order by category_name";
$category_result = mysql_query($category_query);
while ($row = mysql_fetch_assoc($category_result)) {
  $cat_id = $row['category_id'];
  $cat_name = $row['category_name'];
  $category_list[$cat_id] = $cat_name;
}

then you can just print out the name, eg:

// article_category comes from your query to load the article.
$article_category = 'x';

// make sure it's a valid category name
if (isset($category_list[$article_category])) {
echo "Your article is in category " . htmlspecialchars($category_list[$article_category]);
}

--
Postgresql & php tutorials
http://www.designmagick.com/


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


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux