alphabetic links

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • alphabetic links

    Hi,

    Ich habe eine PHP-Seite wo dynamisch Produkte in einer Tabelle aufgelistet werden, wobei es bei jedem Produkt immer ein kleines Bildchen angezeigt werden soll (Die Bilder kommen ebenfalls von einer Datenbank). Ich möchte jetzt am Beginn der Seite alphabetische Links hinzufügen, womit man durch Klicken auf den jweiligen Buchstaben eben zu dem Anfang der Produkte mit diesem Buchstaben automatisch springt. Da ja die Produktliste dynamisch erstellt wird, helfen da normale Anker-Links nichts. Weiß jemand wie man das am einfachsten realisiert?


    lg pat

  • #2
    Mmhhh...

    In die Schleife, die die Daten ausgibt, folgendes einbauen:

    - Den Anfangsbuchstaben des momentanen Datensatzes in Variable x ablegen

    - Schauen, ob Variable x sich vom Anfangsbuchstaben des letzten Datensatzes (Sagen wir, Variable x_alt) unterscheidet. Wenn ja, sind wir am Anfang des nächsten Buchstabens. Dann Anker ausgeben: <a name='buchstabe_{x}'>

    - Variable x für den nächsten Schleifendurchlauf als x_alt speichern.

    So funktionieren dann Anker-Links nach dem Muster "buchstabe_a" bis "buchstabe_z". Existieren in einer Ausgabe keine Datensätze mit einem bestimmten Anfangsbuchstaben, funktioniert der Anker nicht.

    Kommentar


    • #3
      hi,

      danke für deine Antwort...Ich habe das mal implementiert, wie die Tabelle aussehen soll:

      Code:
      <?php
       // Connect to the MySQL server
        if (!($connection = @ mysql_connect($hostname, $username, $password)))
           die("Cannot connect");
      
        if (!(mysql_select_db($databaseName, $connection)))
           showerror();
      
        // Run the query on the connection
        if (!($result = @ mysql_query ($query, $connection)))
           showerror();
      	 
           // Start a table, with column headers  print "\n<table border=1>\n<tr>\n" .
      	 if(isset($_GET['id']))
      	 {
      	 	$parameter = $_GET['id'];
      		$parameter = "products";
      		
                print "<tr>";
                print "<th><a style=\"color:#DCDFF2; text-decoration: underline;\" href=\"products.php?id=$parameter\">Name</a></th>";
                print "<th><a style=\"color:#DCDFF2; text-decoration: underline;\" href=\"products.php?id=$parameter\">Price</a></th>";
                print "</tr>";
      	}
           // Until there are no rows in the result set, fetch a row into
           // the $row array and ...
           while ($row = @mysql_fetch_array ($result))
           {
      		
      		$productId = $row["ProductId"];
      		$name = $row["Name"];
      		$price = $row["UnitPrice"];
      		$formattedPrice = "€  " . number_format($price, 2, '.', ',');
      		
              print "<tr>";
      		print "<td> <a href=\"details.php?id=$productId\"> $name </a></td>";
      		print "<td align=\"right\"> $formattedPrice </td>";
      		print "</tr>";
           } 
      
      ?>
      Nur ist mir jetzt noch nicht ganz klar, wie ich das definieren soll, dass bei jedem neuen Anfangsbuchstaben ein Anker gesetzt wird?

      lg pat

      Kommentar


      • #4
        http://php-resource.de/forum/showthr...threadid=50454

        Kommentar

        Lädt...
        X