Buchstabenindex Hilfe

CikoNo1

Erfahrenes Mitglied
Hallo Leute,

ich wollte ein Lexikon programmieren mit Buchstabenindex, aber ich weiß nicht genau wie ich an diesen Buchstabenindex heran gehe. Hab mal gegoogelt aber keine Hilfestellungen gefunden. Kennt jemand eine Seite wo das ein bischen erklärt wird.

Hier mal ein Beispiel wie es aussehen könnte: Buchstabenindex

Es sollte so sein, dass nur die Buchstaben verlinkt sind, die auch einen Inhalt haben.

MFG
 
Wo willst du denn deine Lexikoneinträge ablegen?
Datenbank? Textdatei? Oder wie stellst du dir das bis jetzt vor?

LG
TwoFaze
 
Oh sorry hab ich vergessen dazu zu schreiben. Ich will die Einträge aus einer MySQL DB holen
 
Hi

http://www.php-faq.de/q/q-code-alphabet.htmlMit der Verlinkung könnt ich mir eine Tabelle vorstellen, also wenn du eine Spalte mit dem Namen hast könntest du z.B. den ersten Buchstaben rausnehmen.
z.B.:
Code:
name | Beschreibung
Test   Die Beschreibung zu Test
Foo   Die Beschribung zu Foo
Bar    Die Beschreibung zu Bar
Mit einem MySQL-Query könntest du dann immer den ersten Buchstaben der Spalte name auslesen
 
ich will ja auch die buchstaben abbilden die nicht in der db sind, wie z.B. X oder Y die sollen halt nicht verlinkt werden aber wie gesagt trotzdem abgebildet werden
 
Probier mal Folgendes:
PHP:
$tmp = null;
while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
	if( $tmp != strtoupper(substr($row['Spalte'], 0, 1)) ) {
		if( !is_null($tmp) ) {
			echo '</ul>';
		}
		$tmp = strtoupper(substr($row['Spalte'], 0, 1));
		echo '<h3>'.$tmp.'</h3>';
		echo '<ul>';
	}
	echo '<li>'.$row['Spalte'].'</li>';
}
if( !is_null($tmp) ) {
	echo '</ul>';
}
 
Du könntest dir per $_GET den gewünschten Buchstabe übergeben lassen, welchen du dann in deine MySQL-Abfrage einbaust.
Die Abfrage würde für 'A' ungefähr so aussehen:
Code:
SELECT feld FROM tabelle WHERE begriff LIKE "A%";

Wenn du nur die Links aktivieren willst, die auch Einträge in der Datenbank haben, dann könntest du für jeden Buchstaben die Einträge zählen. Wenn die Anzahl der Einträge dann größer 0 ist fügst du den Link ein..

Gruß
TwoFaze

//edit: Gumbo war schneller, un dann noch mit Code ;)
 
Danke erst mal für die schnellen antworten.

und was ist eigentlich mit den buchstaben die nicht in der db sind

Ich steh grad total auf dem schlauch!
 
Hey Leute bin total am verzweifeln, kann mir bitte einer erklären wie ich so einen buchstaben index hinbekomme hab mir jetzt ein paar skripte angeschaut bin aber nicht daraus schlau geworden.

BITTE HILFT MIR ES IST WICHTIG!!
 
Ist doch schon beantwortet...
SQL:
SELECT `feld` FROM `tabelle` WHERE `begriff` LIKE "$buchstabe%";
Wenn es zu dem Buchstaben keinen Eintrag gibt, dann bekommst du mit [phpf]mysql_num_rows[/phpf] 0 zurück...
PHP:
<?php
$query = mysql_query('SELECT `feld` FROM `tabelle` WHERE `begriff` LIKE "'.$buchstabe.'%"') or die(mysql_error());

if(mysql_num_rows($query) > 0)
	while(($row = mysql_fetch_array($query)) !== false){
	 //...
	}
} else{
  echo 'Keine Einträge zum gegebenen Buchstaben.';
}
?>

P.s: Achte bitte auf deine Groß- und Kleinschreibung...
 
Zuletzt bearbeitet:
Zurück