Re: Catagory list
| From: | Basil Groman | Date: | Sat, 31 Mar 2001 03:15:27 +0000 |
| Subject: | Re: Catagory list | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-46426@lists.php.net to get a copy of this message | ||
If I understand what you are looking for, this should work for you:
$indent_str = ' ';
$qry = 'SELECT * FROM test ORDER BY category';
$result = mysql_query($qry);
$current_category = "";
while ($r = mysql_fetch_array($result)){
if ($r['category'] <> $current_category){
//first time category
$current_category = $r['category'];
printf("<b>%s</b><br>\n",$current_category);
}
//Now just print the title in this row
printf("$indent_str<i>%s</i><br>\n",$r['title']);
}
basil
At 11:58 AM 3/31/2001 +1000, Mark Bayfield wrote:
Thanks for the code. Its not doing exactly what I want, but with a little modification is is kind of working. The one problem is that it is putting the Title first and the catagory second. so it is coming up with: title1 title2 catagory title3 title4 catagory1 and the last catagory is droping off. I have modified the code as such (if you can help so that the catagory is first and the titles second it would be a great help): $result = mysql_query ("SELECT * from article ORDER BY catagory"); $temp = ""; while ($r = mysql_fetch_array($result)) { if (empty($temp)) // will be fired only once! {$temp = $r["catagory"]; // get category name// echo "This is category <b>" . $temp ."</b>, and it's titles are as following:<br>"; //display it // echo "----this is title <a href='update.php?passed=". $r["id"] ."'><b>" . $r["title"] . "</b></a><br>"; } if ($temp != $r["catagory"]) // because it's sorted by category, this method will work!echo "This is category <b>" . $temp. "</b>, and it's titles are asfollowing:<br>"; //display it // update last category name $temp = $r["catagory"]; // echo "This is category <b>" . $temp. "</b>, and it's titles are as following:<br>"; echo "----this is title <a href='update.php?passed=". $r["id"] ."'><b>" . $r["title"] . "</b></a><br>"; } ""elias"" <elias_bachaalany@yahoo.com> wrote in message news:9a246s$mcv$1@toye.p.sourceforge.net... please try this: - I didn't really get what you mean, but i can see that you have a table such: Table fields: category, fieldx, fieldy, fieldz, title and you want to display it's data as: category 1 title1 (belonging to cat1) title2 (...) title3 (....) title4 (...) cat2 titlex titley titlez that what you said, right? okay, try this: ** $result = mysql_query ("SELECT * from article ORDER BY catagory"); $temp = ""; while ($r = mysql_fetch_array($result)) { if (empty($temp)) // will be fired only once! {$temp = $r["category"]; // get category name echo "This is category $temp, and it's titles are as following:<br>";// display it } if ($temp != $r["category"]) // because it's sorted by category, this method will work!echo "This is category $temp, and it's titles are as following:<br>";// display it // update last category name $temp = $r["category"]; echo "----this is title " . $r["title"] . "<br>"; } ** - ""Mark Bayfield"" <mbayfield@optushome.com.au> wrote in message news:9a1u3q$k81$1@toye.p.sourceforge.net...I am trying to make a catagory list that displays a distinct catagory,andthen listing titles under that catagory. Unfortunatly all the data is in one table, and the catagory field is notsetcatagories, so there is duplicates in that field. The code so far is (but I am probably going about it the wrong way, ifyoucan see whats wrong with my code plase help, or point me in somedirection),$query = mysql_query("SELECT DISTINCT catagory from article order by catagory"); $query2 = mysql_query ("SELECT * from article ORDER BY catagory"); for ($index = 0; $index < mysql_num_rows($query); $index++) { $Catagory = mysql_fetch_row ($query) or die (mysql_error()); $name1 = mysql_fetch_row ($query2) or die (mysql_error()); $x = $name1; $result1 = array_unique($Catagory); $result = array_merge($Catagory, $name1); print ("$result1[0]<BR>"); for ($x=0; $x == $result1[0]; $x++) { print (" <a href='update.php?passed=$name1[0]'>$name1[2]</a><br>\n"); }-- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net For additional commands, e-mail: php-general-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net For additional commands, e-mail: php-general-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net}I am trying everything to get it do just print the following: Catagorytitle1 title2Catagory1title3 title4Please help me out.... thanks -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net For additional commands, e-mail: php-general-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net