Seite 1 von 1

Einträge nach Alphabet ausgeben

Verfasst: 07.09.2009, 09:40
von Michael1967
Hallo,

benötige mal wieder etwas Hilfe.

In meiner Datenbank stehen Begriffe - diese möchte ich nach dem Alphabet ausgeben.

Ich suche eine Funktion - die das Alphabet (A B C usw.) ausgibt. Nach dem Klick auf einen Buchstaben, sollen alle Begriffe angezeigt werden - die mit dem Buchstaben beginnen.

Auf der ersten Seite sollen alle Begriffe mit "A" stehen. Irgendwie finde ich da nichts - weil ich nicht genau weiß - nach was ich suchen muss.

Hat jemand ein Beispiel oder so für mich?

Danke!

Verfasst:
von

Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Verfasst: 07.09.2009, 10:31
von slider

Code: Alles auswählen

SELECT * FROM tabelle WHERE name LIKE 'a%'

Verfasst: 07.09.2009, 10:34
von Michael1967
slider hat geschrieben:

Code: Alles auswählen

SELECT * FROM tabelle WHERE name LIKE 'a%'
Das wäre eine Lösung für die erste Seite. Und für alle anderen Buchstaben schreibe ich nun ein neues Select? Und wie gebe ich das Alphabet inklusive der Verlinkung aus?

Ich blicke das leider nicht! *schäm*

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 07.09.2009, 10:37
von JohnBi

Code: Alles auswählen

SELECT * FROM tabelle WHERE 1 ORDER BY name ASC
Das müsste ne alphabetische Sortierung bewirken.

Verfasst: 07.09.2009, 10:47
von Michael1967
Nene, so meinte ich das nicht.

Also ich brauche eine Navi - A B C D E F usw.

Klickt nun beispielsweise jemand auf auf den Buchstaben "B" sollen alle Einträge die mit "B" beginnen angezeigt werden. Bei "C" alle mit "C" usw.

Verfasst: 07.09.2009, 10:57
von JohnBi
dann

Code: Alles auswählen

SELECT * FROM tabelle WHERE name LIKE 'a%' ORDER BY name ASC LIMIT 0,10
Das sortiert alle Einträge die mit a beginnen alphabetisch und zeigt 10 Stück an ...

Verfasst: 07.09.2009, 10:58
von PSI
Das mit der Navi musst Du auch dazuschreiben.

Die obigen Ansätze sind richtig:

1.) Zuerst sortierst Du die Datenbank

2.) Unter Navi B ziehst Du per list alle entsprechende Beiträge rein

Verfasst: 07.09.2009, 11:06
von xAaron
So ganz verstehe ich es nicht. Hast du mehrere Seiten, wo wenn auf C geklickt wurde alles mit C beginnende angezeigt werden soll, dann sind obige Beispiele richtig, sprich auf seite i eine LIKE 'i%' oder willst du eine Seite und eine Abfrage haben, wo dann alles alphabetisch sortiert wird?

Verfasst: 07.09.2009, 11:21
von Michael1967
Alles auf einer Seite.

Code: Alles auswählen


$lettersarray = array("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"); 

foreach($lettersarray as $letter) {  

echo "&nbsp;&nbsp;<a href=url&letter=$letter>" . $letter . "</a>"; 

&#125; 
Das mit der Ausgabe habe ich schon. Nun übergebe ich einfach den Inhalt von $letter zur Abfrage und bekomme genau das was ich möchte.

Verfasst: 07.09.2009, 11:34
von Michael1967
Nur was mache ich jetzt mit den Begriffen die mit 0-9 beginnen?

Das Array erweitern? Geht das irgendwie mit 0-9 oder muss hier mit 1 2 3 4 usw. erweitert werden?

Verfasst: 07.09.2009, 11:43
von xAaron
Michael1967 hat geschrieben:Alles auf einer Seite.

Code: Alles auswählen


$lettersarray = array&#40;"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"&#41;; 

foreach&#40;$lettersarray as $letter&#41; &#123;  

echo "&nbsp;&nbsp;<a href=url&letter=$letter>" . $letter . "</a>"; 

&#125; 
Das mit der Ausgabe habe ich schon. Nun übergebe ich einfach den Inhalt von $letter zur Abfrage und bekomme genau das was ich möchte.
Ok, ich blick es noch nicht. So wie das aussieht, wäre es doch jedes Mal ein eigene Seite? Der Besucher klickt auf den link index.php?url=xxxx.php&letter=C. Damit ruft er eine neue Seite vom Server ab und du kannst das Beispiel mit LIKE '$letter%' nehmen, dann schickt der Server alles mit dem Anfangsbuchstaben C zurück.

Verfasst: 07.09.2009, 11:46
von Michael1967
Jo, das funktioniert ja schon. Genauso habe ich das gemacht. Nur was mache ich mit Begriffen die mit Zahlen beginnen?

Verfasst: 07.09.2009, 12:08
von 800XE
Michael1967 hat geschrieben:Jo, das funktioniert ja schon. Genauso habe ich das gemacht. Nur was mache ich mit Begriffen die mit Zahlen beginnen?
Wenn die Datenspalte Buchstaben enthält irgendwo, dan ist es eien Varchar-Spalte und keine interger-(Zahlen)-Spalte, aleo ... 007 ist like "0%" ... 800XE ist LIKE "8%"

so ungefähr

Code: Alles auswählen

$fornext=ord&#40;'A'&#41;; $to=ord&#40;'Z'&#41;;
while &#40; $fornext <= $to &#41;
&#123;
  $content .='<a href="/Alpha/'. chr&#40; $fornext &#41; .'.html">'. chr&#40; $fornext &#41; .'</a>';
&#125;
// plus Numeri
$fornext=ord&#40;'0'&#41;; $to=ord&#40;'9'&#41;;
// Ascii Code von 0 ist doch links von 1 oder etwa rechts von 9?
while &#40; $fornext <= $to &#41;
&#123;
  $content .='<a href="/Alpha/'. chr&#40; $fornext &#41; .'.html">'. chr&#40; $fornext &#41; .'</a>';
&#125;
bei dir dann eben als Parameter für $letter ins HTML

bei mir ist es doort auch nicht "Dateiname" sondern Ordner
www.zmudaweb.de/SYNAPS/Alpha/b/

und bedenke, du hast jetzt noch das Problem das du quasie ÄÖÜ auch noch Navigieren müstest

darum ... hl2fn ....

Code: Alles auswählen

        $headline= str_replace&#40;'ä', 'ae', $headline &#41;;
        $headline= str_replace&#40;'ö', 'oe', $headline &#41;;
        $headline= str_replace&#40;'ü', 'ue', $headline &#41;;
        $headline= str_replace&#40;'Ä', 'AE', $headline &#41;;
        $headline= str_replace&#40;'Ö', 'OE', $headline &#41;;
        $headline= str_replace&#40;'Ü', 'UE', $headline &#41;;
in der DB gibt es die Überschriften 2 mal

headline = die echte
headline_url = hll2fn

oder im WörterWalkWiki
Keyword + alpha(=hl2fn behandelt)


SQL für ABC...XYZ + sonstiges

Code: Alles auswählen


if &#40; ord&#40;$REQUEST_FILE&#41; >= ord&#40;'A'&#41;
  && ord&#40;$REQUEST_FILE&#41; <= ord&#40;'Z'&#41; &#41;
&#123;
  $FILTER = " name LIKE '". $REQUEST_FILE."%' ";
&#125;
else
&#123;
  $FILTER = " name<'A' AND name>'Z' ";
&#125;


$query ='';
$query .= ' SELECT * FROM Wörterbuch';
$query .= ' WHERE '.$FILTER;
$query .= ' ORDER BY name';
$query .= ' LIMIT '.$offset. ',10';
mysql_query&#40;$query&#41;;

Code: Alles auswählen

/***********************************************************************
 *   Headline 2 FileName -- umwandeln
 **********************************************************************/
function hl2fn&#40;$headline, $low=0&#41;
&#123;
              $headline = hl2fn2&#40;trim&#40;$headline&#41;&#41;;
  if &#40; $low &#41; $headline = strtolower&#40; $headline &#41;;
  return&#40;     $headline                         &#41;;
&#125;

/***********************************************************************
 *   Headline 2 Subdomain -- umwandeln
 **********************************************************************/
function hl2fn2&#40;$headline&#41;
&#123;
        $headline= str_replace&#40;chr&#40;153&#41;, ' TM', $headline &#41;;
        $headline= str_replace&#40;chr&#40;232&#41;, 'e', $headline &#41;;
        $headline= str_replace&#40;chr&#40;233&#41;, 'e', $headline &#41;;
        $headline= str_replace&#40;chr&#40;234&#41;, 'e', $headline &#41;;
        $headline= str_replace&#40;chr&#40;235&#41;, 'e', $headline &#41;;
        $headline= str_replace&#40;chr&#40;174&#41;, 'R', $headline &#41;;
        $headline= str_replace&#40;'â', 'a', $headline &#41;;
        $headline= str_replace&#40;'é', 'e', $headline &#41;;
        $headline= str_replace&#40;'€', 'e', $headline &#41;;
        $headline= str_replace&#40;'`', ' ', $headline &#41;;
        $headline= str_replace&#40;'²', '2', $headline &#41;;
        $headline= str_replace&#40;'_', ' ', $headline &#41;;
        $headline= str_replace&#40;'"', ' ', $headline &#41;;
        $headline= str_replace&#40;"'", ' ', $headline &#41;;
        $headline= str_replace&#40;'*', ' ', $headline &#41;;
        $headline= str_replace&#40;'%20',' ',$headline &#41;;
        $headline= str_replace&#40;'%2B',' ',$headline &#41;;
        $headline= str_replace&#40;'%', ' ', $headline &#41;;
        $headline= str_replace&#40;'+', ' ', $headline &#41;;
        $headline= str_replace&#40;'?', ' ', $headline &#41;;
        $headline= str_replace&#40;'!', ' ', $headline &#41;;
        $headline= str_replace&#40;'&', ' ', $headline &#41;;
        $headline= str_replace&#40;'@', ' ', $headline &#41;;
        //$headline= str_replace&#40;'|', ' ', $headline &#41;;
        $headline= str_replace&#40;',', ' ', $headline &#41;;
        $headline= str_replace&#40;'=', ' ', $headline &#41;;
//        $headline= str_replace&#40;'-', '', $headline &#41;;
        $headline= str_replace&#40;'<', ' ', $headline &#41;;
        $headline= str_replace&#40;'>', ' ', $headline &#41;;
        $headline= str_replace&#40;'«', ' ', $headline &#41;;
        $headline= str_replace&#40;'»', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#123;', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#91;', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#40;', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#41;', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#93;', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#125;', ' ', $headline &#41;;
        $headline= str_replace&#40;"'", ' ', $headline &#41;;
        $headline= str_replace&#40;';', ' ', $headline &#41;;
        $headline= str_replace&#40;'&#58;', ' ', $headline &#41;;
        $headline= str_replace&#40;'ß', 'ss', $headline &#41;;
        $headline= str_replace&#40;'ä', 'ae', $headline &#41;;
        $headline= str_replace&#40;'ö', 'oe', $headline &#41;;
        $headline= str_replace&#40;'ü', 'ue', $headline &#41;;
        $headline= str_replace&#40;'Ä', 'AE', $headline &#41;;
        $headline= str_replace&#40;'Ö', 'OE', $headline &#41;;
        $headline= str_replace&#40;'Ü', 'UE', $headline &#41;;
        
        $headline= str_replace&#40;'à', 'a', $headline &#41;;

        $headline= str_replace&#40;"\n", ' ', $headline &#41;;
        $headline= str_replace&#40;"\r", ' ', $headline &#41;;
        $headline= str_replace&#40;"\", ' ', $headline &#41;;
        $headline= str_replace&#40;'/', ' ', $headline &#41;;
        $headline= str_replace&#40;'#', ' ', $headline &#41;;
        $headline= trim       &#40;          $headline &#41;;
        $i=strlen&#40;$headline&#41;;
	while&#40;$i--&#41;
	&#123;
		if &#40; ord&#40;$headline&#123;$i&#125;&#41;>127 &#41; $headline&#123;$i&#125;=' ';
	&#125;
	$headline= str_replace&#40;' ', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'--', '-', $headline &#41;;
        $headline= str_replace&#40;'|-', '|', $headline &#41;;
        $headline= str_replace&#40;'-|', '|', $headline &#41;;
        $headline= str_replace&#40;'||', '|', $headline &#41;;

  return&#40;$headline&#41;;
&#125;
function hl2sub&#40;$headline&#41;
&#123;
        $headline=hl2fn2&#40;$headline&#41;;
        $headline= str_replace&#40;".", "-", $headline &#41;;
  return&#40;$headline&#41;;
&#125;

Verfasst: 07.09.2009, 12:18
von Michael1967
Vielen Dank 800XE. Damit lässt sich schon was machen :D

Verfasst: 07.09.2009, 12:20
von 800XE
BUGFIX
800XE hat geschrieben:

Code: Alles auswählen

$fornext=ord&#40;'A'&#41;; $to=ord&#40;'Z'&#41;;
while &#40; $fornext <= $to &#41;
&#123;
  $content .='<a href="/Alpha/'. chr&#40; $fornext &#41; .'.html">'. chr&#40; $fornext &#41; .'</a>';
&#125;
da mus natürlich die ForNext noch weiterzählen

Code: Alles auswählen

$fornext=ord&#40;'A'&#41;; $to=ord&#40;'Z'&#41;;
while &#40; $fornext <= $to &#41;
&#123;
  $content .='<a href="/Alpha/'. chr&#40; $fornext &#41; .'.html">'. chr&#40; $fornext &#41; .'</a>';
  $fornext++;
&#125;