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 as
>following:<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"" <[EMAIL PROTECTED]> wrote in message
>9a246s$mcv$[EMAIL PROTECTED]">news:9a246s$mcv$[EMAIL PROTECTED]...
> > 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"" <[EMAIL PROTECTED]> wrote in message
> > 9a1u3q$k81$[EMAIL PROTECTED]">news:9a1u3q$k81$[EMAIL PROTECTED]...
> > > I am trying to make a catagory list that displays a distinct catagory,
>and
> > > then listing titles under that catagory.
> > > Unfortunatly all the data is in one table, and the catagory field is not
> > set
> > > catagories, so there is duplicates in that field.
> > > The code so far is (but I am probably going about it the wrong way, if
>you
> > > can see whats wrong with my code plase help, or point me in some
> > direction),
> > >
> > >  $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 ("&nbsp;&nbsp;&nbsp;&nbsp;<a
> > > href='update.php?passed=$name1[0]'>$name1[2]</a><br>\n");
> > >    }
> > >      }
> > >
> > > I am trying everything to get it do just print the following:
> > >
> > > Catagory
> > >     title1
> > >     title2
> > > Catagory1
> > >     title3
> > >     title4
> > >
> > > Please help me out....
> > >
> > > thanks
> > >
> > >
> > >
> > > --
> > > PHP General Mailing List (http://www.php.net/)
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > To contact the list administrators, e-mail: [EMAIL PROTECTED]
> > >
> >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > To contact the list administrators, e-mail: [EMAIL PROTECTED]
> >
>
>
>
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to