Jump to content

Archived

This topic is now archived and is closed to further replies.

djavet

Display initials navigation menu with links or not

Recommended Posts

Hello

 

I wich to make a address book with a initials navigation with link on. No problem until now, it's working perfectly (php + mysql wit Dreamweaver MX2004).

 

Now I wisch to show in my initals naviagtion menu only links where I've entries regarding my address book name field.

 

Per exemple:

A B C D E F G H I J K etc...

 

and i've only entrie on C and J, i wish on C and J a link.

Other not.

 

How it is possible to do that?

A lot of thx for your help and time.

 

Regards, Dom

Share this post


Link to post
Share on other sites

im not sure how you would do this using dreamweaver interface but heres a way you should be able to do it using PHP coding

 

[!--PHP-Head--][div class=\'phptop\']PHP[/div][div class=\'phpmain\'][!--PHP-EHead--]

$alphabet=(\'A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\');

$query=mysql_query(\"select distinct(initial) FROM table\");

while ($r=mysql_fetch_array($query)) {

$initial=$r[\'intial\'];

$links=str_replace(\"$initial\",\"<a href=\\"$initial.php\\">$initial</a>\",$alphabet);

}

echo(\"$links\");

[/span][!--PHP-Foot--][/div][!--PHP-EFoot--]

 

that *should* work you will just have to change the table name, field name and so on :)

Share this post


Link to post
Share on other sites

Just a little question:

on "select distinct(initial) FROM table"

is initial a DB field name or a funciton?

 

I use Mysql and not Coldfusion.

 

Regards, Dom

Share this post


Link to post
Share on other sites

intial is just the field, i was working along the lines that you already have an intial field

Share this post


Link to post
Share on other sites
intial is just the field, i was working along the lines that you already have an intial field

273597[/snapback]

 

I see! I'n only a field "Organisation" wich I must extract the first letter (don know how, but I will find!).

 

Thx, Dom

Share this post


Link to post
Share on other sites

Hello

 

I try you code in this way:

<?php require_once('../../Connections/connect.php'); ?>
<?php
mysql_select_db($database_connect, $connect);
$query_rsInitials = "SELECT DISTINCT UPPER(LEFT(organisation,1)) FROM contacts ORDER BY organisation ASC";
$rsInitials = mysql_query($query_rsInitials, $connect) or die(mysql_error());
$row_rsInitials = mysql_fetch_assoc($rsInitials);
$totalRows_rsInitials = mysql_num_rows($rsInitials);
?>
<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<?php
$alphabet=('A B C D E F G H I J K L M N O P Q R S T U V W X Y Z');
while ($r=mysql_fetch_array($rsInitials)) {
$initial=$r['organisation'];
$links=str_replace("$initial","<a href=\"$initial.php\">$initial</a>",$alphabet);
}
echo("$links");
?>
</body>
</html>
<?php
mysql_free_result($rsInitials);
?>

 

And I receive for every letter the error:

Notice: Undefined index: organisation in g:\elce\www.website.ch\cms\address\letters.php on line 18

 

Any idea where I'm wrong?

 

Regards, Dom

Share this post


Link to post
Share on other sites

I found!

 

I must change my query to:

SELECT DISTINCT UPPER(LEFT(organisation,1)) AS organisation FROM contacts

 

and then change all $links to $alphabet.

 

It's working now.

Thx a lot.

 

REgards, DOm

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.