kostenloser Webspace werbefrei: lima-city


Datenbankabfragen verlinken

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo fabo! :wave:

    Das mit dem Ausschließen von Seiten will bei mir einfach nicht klappen und die PHP Variante verstehe ich nicht so ganz. Und so muss ich wohl oder übel mit Präfix arbeiten. Wenn ich diesen PHP Code von Dir include, kann ich dann in die .htaccess die alte, folgende Rewrite Rule wieder aufnehmen?

    RewriteRule ^(.*)\.html$ $1.php [L]


    Du hast den Vorschlag gemacht, Dateien zu exkludieren, weil sich die beiden Regeln nicht vertragen. Könnte man nicht im Umkehrschluss auch einfach für jede Seite eine extra Regel aufstellen? Ich meine so käme ja Niemand irgendwem in die Quere. Da die Seite eh nicht all zu groß ist, könnte man das doch machen oder? Ich würde also jede Seite genau definieren, deren Endung von .php auf .html geändert wird, anstatt eine allgemeine Regel aufzustellen. So müsste es gehen, ohne dass ich das mit dem Präfix machen muss...


    Gruß,
    webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Fabos PHP-Code (das echo streichen) funktioniert mit meiner Rewrite-Rule.
  4. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    drafed-map schrieb:
    Fabos PHP-Code (das echo streichen) funktioniert mit meiner Rewrite-Rule.


    Hallo! :wave:

    Mit WELCHER Rewrite Rule von Dir? Gibt ja mittlerweile mehrere auf den ganzen Seiten hier. Und wo soll der PHP Code genau hin - ganz oben vor dem html Tag auf der Übersichtsseite, wo man auf den Begriff klickt oder woanders? Danke für die Info. ;-)


    Gruß,
    webdesignerin :angel:
  5. Ich habe bisher nur eine Rewrite-Rule gepostet:
    RewriteEngine on 
    RewriteRule ^(.*).html$ seite.php?begriff=$1
    Es genügt, den oberen Teil von Fabos Code zu nehmen. Kopiere also einfach ganz oben vor allem anderen diesen Code in die Datei:
    <?php
    	if(file_exists($_GET['begriff'].'.php'))
    	{
    		include $_GET['begriff'].'.php';
    		exit();
    	}
    ?>
  6. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Hmhh, habe irgendwie Schwierigkeiten mti dem Einbau. Mal geht's, mal geht's nicht...

    Wenn es nicht zu viel verlangt ist, würde ich gerne noch fragen, ob ihr eine Idee hättet, wie man die Begriffe angemessen auflistet. Im Moment sind bei mir alle Begriffe untereinander bis zum Erbrechen aufgelistet. Ich möchte das allerdings ein bisschen ordnen. Ihr kennt doch sicher andere Auflistungen aus dem Web und da stehen dann die entsprechendenn Buchstaben, bevor die dazugehörigen Begriffe aufgelistet werden. Wie macht man das?


    Gruß,
    webdesignerin :angel:

    Beitrag zuletzt geändert: 18.6.2011 19:46:34 von webdesignerin
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html lang="en">
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=utf-8">
    	<title>Eine tolle Liste</title>
    </head>
    <body>
    <?php
    
    // Datenbankverbindung herstellen
    $username = "*";
    $password = "*";
    $hostname = "*";	
    $dbh = mysql_connect($hostname, $username, $password);
    $db_select = mysql_select_db('*') or die (mysql_error());
    
    // Daten aus der Datenbank lesen
    $query = @mysql_query('SELECT SUBSTRING(begriff,1,1) AS letter, begriff FROM begriffe ORDER BY begriff') or die (mysql_error());
    while ($records = @mysql_fetch_array($query)) {
    	$alpha[$records['letter']] += 1;
    	${$records['letter']}[$records['begriff']] = $records['begriff'];
    }
    
    // Alphabetische Navigation
    foreach(range('A','Z') as $i) {
    	echo (array_key_exists ($i, $alpha)) ? '<a href="#'.$i.'" title="'.$alpha[$i].' Begriffe">'.$i.'</a>' : $i;
        echo ($i != 'Z') ? ' | ':'';
    }
    
    // Datenbankeinträge alphabetisch ausgeben
    foreach(range('A','Z') as $i) {
        if (array_key_exists ($i, $alpha)) {
    		echo '<a name="'.$i.'"></a><h2>'.$i.'</h2>';
    		foreach ($$i as $key=>$value) {
    		    echo '<p>'.$value.'</p>';
    		}
        }
    }
    
    ?>
    </body>
    </html>


    Sollte selbsterklärend sein.

    Beitrag zuletzt geändert: 18.6.2011 21:37:29 von fabo
  8. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo fabo! :wave:

    Danke für den Code. Ist genau das, was ich mir vorgestellt habe! :thumb:

    Allerdings wird ja weiterhin alles untereinander aufgelistet und ich wollte das aus ästhetischen Gründen besser auf die Seite verteilen (und zwar in eine linke und eine rechte Spalte). Ich hoffe Du verstehst, was ich meine, denn ich weiß nicht, wie ich das anders erklären soll. ^^

    Und nun hätte ich gerne gewusst, wie ich das umsetzen muss? :confused:


    Gruß,
    webdesignerin :angel:

    Beitrag zuletzt geändert: 19.6.2011 14:32:00 von webdesignerin
  9. Wenn du mir ein Bildchen malst, wie das am Ende aussehen soll, kann ich dir die Frage möglicherweise beantworten :D
  10. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo fabo! :wave:

    Ok, ich versuch's mal anders zu erklären, bevor ich ein Bild male... :-D


    Aktuell sieht es 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


    ... und unter dieser "Leiste" sind ja dann die Begriffe....

    >A<
    
    Alter
    Angel
    Anker
    
    >B<
    
    Balsam
    Boden
    Buch
    
    >C<
    
    Calcium
    China
    Chlor
    
    usw. usf.



    So soll es werden:

    Ich möchte jetzt aber, dass die Begriffe nicht stur untereinander aufgelistet werden, sondern besser nebeneinander - ungefähr so (damit die Seite optimal ausgenutzt und nciht zu lang wird):

    >A<                                   >D<
    
    Alter                                 Dach
    Angel                                 Dorf
    Anker                                 Dunst
    
    >B<                                  >E<
    
    Balsam                              Ehe
    Boden                               Eltern
    Buch                                Enkel
    
    >C<                                 >F<
    
    Calcium                            Farbe
    China                              Foto
    Chlor                              Frau



    Die aufgelisteten Begriffe sollen also auf zwei oder mehr Spalten verteilt werden. Und falls es immer noch unklar sein sollte, was ich meine, dann einfach Bescheid geben, denn dann male ich wohl doch besser ein Bild. *g*


    Gruß,
    webdesignerin :angel:
  11. Naja...

    foreach(range('A','Z') as $i) {
        if (array_key_exists ($i, $alpha)) {
    		echo '<a name="'.$i.'"></a><h2>'.$i.'</h2>';
    		foreach ($$i as $key=>$value) {
    		    echo '<p>'.$value.'</p>';
    		}
        }
    }


    Den Teil aufteilen d.h. kopieren und den ersten Teil von A-M und den zweiten von N-Z jeweils in einen entsprechend vorformatierten CSS-Container packen:

    echo '<div id="container1">';
    foreach(range('A','M') as $i) {
        if (array_key_exists ($i, $alpha)) {
    		echo '<a name="'.$i.'"></a><h2>'.$i.'</h2>';
    		foreach ($$i as $key=>$value) {
    		    echo '<p>'.$value.'</p>';
    		}
        }
    }
    echo '</div>';
    
    echo '<div id="container2">';
    foreach(range('N','Z') as $i) {
        if (array_key_exists ($i, $alpha)) {
    		echo '<a name="'.$i.'"></a><h2>'.$i.'</h2>';
    		foreach ($$i as $key=>$value) {
    		    echo '<p>'.$value.'</p>';
    		}
        }
    }
    echo '</div>';


    Beitrag zuletzt geändert: 19.6.2011 18:58:00 von fabo
  12. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo fabo! :wave:

    Danke, jetzt weiß ich, wie der Hase läuft. Ich glaube, dass ich nun so gut wie wunschlos glücklich bin. *g*

    Und soweit ich das beurteilen kann, habe ich jetzt auch alle in diesem Thread gewollten Ziele erreicht. Diese Community ist wirklich nicht zu toppen! :thumb:


    Gruß,
    webdesignerin :angel:
  13. Lass uns das Ergebnis sehen, wenn es fertig ist :)
  14. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Moin zusammen! :wave:

    Soeben ist bei mir noch eine Frage aufgetaucht ^^

    Einige Begriffe enthalten Umlaute, aber dann wird die Seiten URL ja auch mit ä, ö oder ü generiert und kann nicht angezeigt werden.


    Edit: Dank karpfens Hilfe im Support-Chat, bin ich soeben dem Problem mit folgenden Codes erfolgreich zu Leibe gerückt:


    <?php
    
        function ersetze($string)
        {
         
        $string = str_replace('ae', 'ä', $string);
        $string = str_replace('oe', 'ö', $string);
        $string = str_replace('ue', 'ü', $string);
         
        return $string;
        }
         
        $zeichenkette = ersetze($Begriff);
    
    ?>


    und
    <?php
    
    echo  $zeichenkette = ersetze($row->Begriff);
    
    ?>



    Doch zugleich ist ein Weiteres aufgetaucht. :biggrin:

    Und zwar geht es um die Ausgabe der Begriffe mit Umlauten in der aufgeteilten Liste bzw. Übersicht. Wie kann ich die obigen Codes mit dem von fabo in Einklang bringen? Konkret geht es ja um diese Variable:

    .$value.



    Gruß,
    webdesignerin :angel:

    Beitrag zuletzt geändert: 26.6.2011 17:58:33 von webdesignerin
  15. echo '<p>'.ersetze($value).'</p>';


    Wobei ich dein Problem noch nicht ganz verstehe :D
  16. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo fabo! :wave:

    Also... in der Datenbank sind ja die Begriffe gespeichert. Einige davon haben Umlaute und aus technischen Gründen habe ich diese deshalb in der Datenbank mit ae, oe und ue ersetzt. In der Ausgabe (echo) bedeutet das aber, dass die Begriffe mit ae, oe und ue - anstatt ihrer normalen Umlaute - aufgelistet werden. Und ich möchte jetzt einfach, dass die Begriffe normal aufgelistet und mit ä, ö und ü ausgegeben werden.


    Gruß,
    webdesignerin :angel:
  17. Dann mach es so, wie beschrieben:

    echo '<p>'.ersetze($value).'</p>';
  18. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo fabo! :wave:

    Danke, hat super geklappt! :thumb:
    Darf ich noch fragen, wie ich das mit dem Seitentitel (<title>) mache? Denn der muss sich ja auch "mit"ändern... :smile:


    Gruß,
    webdesignerin :angel:
  19. Ich hab den Thread nicht ganz verfolgt, aber ich glaube mich erinnern zu können, dass du den Titel über $_GET bestimmst.
    Dann könnte es in etwa so aussehen:
    <?php
       echo '<titel>'.ersetze($_GET['begriff']).'</titel>';
    ?>

    Falls du es anders machst, dann sag nochmal Bescheid.

    Beitrag zuletzt geändert: 27.6.2011 10:42:51 von alfr3d
  20. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo alfr3d! :wave:

    Jop, hab's grad selbst hinbekommen und wollte den Beitrag gerade editieren. Dann aber sah, dass mir schon Jemand geantwortet hatte. :biggrin:

    echo  "<title>Begriff ";
    echo ersetze($_GET['begriff']);
    echo  "</title>";


    Ist zwar die einfache Art, aber hauptsache ist, ich verstehe, was ich da schreibe. Danke dennoch für Deine Variante. ^^


    Gruß,
    webdesignerin :angel:
  21. @alfr3d

    Das wäre soweit richtig. Wichtig hierbei ist, dass die PHP-Funktion ersetze noch VOR dem Titel (am besten noch vor dem HTML-Teil) definert wird.

    Dann kann man diese Funktion uneingeschränkt auf alles anwenden.

    @web

    <title>Begriff: <?php echo ersetze($_GET['begriff']) ?></title>


    Beitrag zuletzt geändert: 27.6.2011 10:45:34 von fabo
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!