Alpabet und Nummern?

Detlev

Mitglied
hi,

habe folgendes Prob.

Ich habe eine Alphbetaufzälung, die so aussieht:

PHP:
for ($j = "A"; $j !="AA"; $j++) {
    $alphabet[] = chr($j);
echo "<A HREF=\"index.php?section=a&page=1&genre=$genre&typ=$typ&alpha=$j\">$j</a> | ";
}

Die asugabe sieht dann so aus.
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 |

nun will ich aber noch 0-9 in diese Reihe bekommen, so in etwa

09 | 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 |

wie kann ich das machen?

Und wie müßte die zusätzliche select anfrage an die MYSQL DB aussehen?

cu
Detlev
 
PHP:
<?
$start = array(48,65);
$end = array(57,90);

for($i=0;$i<2;$i++){
	for($j=$start[$i];$j <= $end[$i] ;$j++){
		$char = chr($j);
		echo "<A HREF=\"index.php?section=a&page=1&genre=$genre&typ=$typ&alpha=$char\">$char</a> | "; 
	}
	echo "<br>\n";
}
?>
 
Zuletzt bearbeitet:
hi,

danke für die schnelle Hilfe, aber ich will die 1-9 nicht auflisten, sondern nur ein Feld mit
0-9|A|B|C| usw.

mit dem Code von oben werden die zahlen aber einzeln aufgeführt.

Geht das auch anders?


cu
Detlev
 
Du meinst das wohl so:

PHP:
for ($j = "A"; $j !="AA"; $j++) {
    $alphabet[] = chr($j);
	$ausgabe = $ausgabe."<A HREF=\"index.php?section=a&page=1&genre=$genre&typ=$typ&alpha=$j\">$j</a> | ";
	$ausgabe2 = "<A HREF=\"index.php?section=0-9&page=1&genre=$genre&typ=$typ&alpha=0\">0-9</a> | ".$ausgabe;
} 
echo $ausgabe2;

mfg

Ultra
 
Ich gehe mal davon aus, dass Du den Anfangsbuchstaben eines Eintrags einschränken willst, dann habe ich folgenden Code für das Wherestatement im Query:
PHP:
        if (!empty($alpha)) {
            $exp='^['.strtolower($alpha).strtoupper($alpha);
            if ($alpha=='A') {$exp.='äÄ';}
            if ($alpha=='O') {$exp.='öÖ';}
            if ($alpha=='U') {$exp.='üÜ';}
            if ($alpha=='S') {$exp.='ß';}
            $exp.=']';
            if ($alpha=='0-9') {$exp='^[[:digit:]|.|!|"|(]{1}';}
            $wherequery="title REGEXP '".$exp."'";
        }
    $query = "SELECT title FROM tabelle WHERE ".$wherequery.";";
Dazu kannst natürlich auch $wherequery als array nehmen und immer mit $wherequery[] = anhängen (die anderen Einschränkungen, die Du hast, so sie denn angegeben sind) und dann einen $wherestring bilden:
PHP:
        if (sizeof($wherequery)>0) {
            $wherestring = "WHERE ".implode(" AND " , $wherequery);
        } else {
            $wherestring = "";
        }
    $query = "SELECT title FROM tabelle ".$wherestring.";";
Oder wolltest Du nur folgenden Code?
PHP:
echo "<A HREF=\"index.php?section=a&page=1&genre=$genre&typ=$typ&alpha=0-9\">0-9</a> | "; 
for ($j = "A"; $j !="AA"; $j++) { 
    $alphabet[] = chr($j); 
echo "<A HREF=\"index.php?section=a&page=1&genre=$genre&typ=$typ&alpha=$j\">$j</a> | "; 
}

PS: mit dem REGEX oben findet er nicht nur 0-9 als Anfang, sondern auch einige Sonderzeichen, war mir damals zu blöde für Sonderzeichen noch mal 'nen Extra Button zu machen.
 
Zurück