• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Seitenname über Phpmyadmin bestimmen ?

Niklas

Neues Mitglied
Hallo,

Also ich habe ja einen Code und den Inhalt gebe ich über phpmyadmin ein,dort habe ich eine Tabelle content mit den Spalten

sn: Seitenname
ub: Überschrift
inhalt: Inhalt

Wie ich ub und inhalt wiedergebe weiß ich jetzt doch wie kann man es hinbekommen das der Inhalt von sn (ein-zwei Wörter) an die Domain angehangen wird z.b domain.de/Tutorial ?

Und das jede Zeile von der Tabelle content zusammen den Inhalt einer Seite wiedergibt: seitenname,überschrift und Inhalt !

Gruß Niklas
 
Wie ich ub und inhalt wiedergebe weiß ich jetzt doch wie kann man es hinbekommen das der Inhalt von sn (ein-zwei Wörter) an die Domain angehangen wird z.b domain.de/Tutorial ?

Zunächst: Webseiten-interne URLs würde ich innerhalb einer Webseite immer ohne die Domain angeben. Also statt

Code:
http://www.example.com/tutorials

nur

Code:
/tutorials

Wenn Du nun auf Grundlage einer Datenbank solche Links erstellen willst, erarbeite erstmal die normalen Links ohne diese Anpassung. Also z.B.

Code:
/index.php?seitenid=42

Wenn das klappt, ergänze an diese URL noch den Seitennamen:

Code:
/index.php?seitenid=42&seitenname=tutorials

Mittels mod_rewrite kannst Du nun diese URL auch über

Code:
/tutorials

aufrufen. Um dann aber beim Anklicken eines Links auch wieder diese angepassten URLs zu haben, musst Du beim Linksetzen eine Funktion verwenden die dir diesen Dateinamen zusammen setzt. Im einfachsten Fall:

Code:
function getSeitenname(seitenid) {
  // 1. Datenbankabfrage des Seitennamens
  // ..
  // 2. Wenn Seitenname ermittelt werden konnte ..
  if( strlen($seitenname) > 0 ){
    // 3. Bilde daraus die URL
    $url = "/".urlencode($seitenname);
    // 4. und gib diese zurück
    return $url;
  }
}

Funktionsaufruf:
Code:
<a href="<?php echo getSeitenname('42'); ?>">Seitentitel</a>

Einfach gesagt :]

Aus Performancegründen würde ich aber alles zu einer zu verlinkenden Seite (Seitentitel, Seitenid, Seitenname etc.pp.) in einer einzigen Funktion mit einer einzigen SQL-Abfrage ermitteln. Denn ..

Und das jede Zeile von der Tabelle content zusammen den Inhalt einer Seite wiedergibt: seitenname,überschrift und Inhalt !

.. dann klappt es auch damit besser.
 
Klingt etwas komplizierter !

Ich hätte mir das etwas leichter vorgestellt z.b in den Head einfach eine normale Datenbank ausgabe nur so gekenzeichnet das es den Seitennamen bestimmt und Fertig. Nur leider ist vieles nicht so wie man es sich wünscht :?

Egal,

Aus Performancegründen würde ich aber alles zu einer zu verlinkenden Seite (Seitentitel, Seitenid, Seitenname etc.pp.) in einer einzigen Funktion mit einer einzigen SQL-Abfrage ermitteln. Denn ..

Das hier verstehe ich noch nicht ganz ...
 
Klar, nach der von mir beschriebenen Variante speicherst Du den Seitennamen in der Datenbank und liest ihn zum Verlinken wieder von dort aus. Etwas anderes habe ich ja nicht beschrieben.

Mit der einzigen SQL-Abfrage meinte ich eine Abfrage die alle Eigenschaften einer Seite umfasst. Wenn Du eine Seite hast die Seitentitel, Seitenid und Seitennamen hast, dann würde

Code:
SELECT seitenid, seitentitel, seitenname FROM content WHERE seitenid ='42'

als Ergebnis alle diese 3 Eigenschaften ausgeben die Du dann per php an beliebigen Stellen weiterverwenden könntest. Du speicherst einfach direkt nach dem Statement diese Eigenschaften in einzelnen Variablen, z.B. $seitenid, $seitenname und $seitentitel, und kannst diese dann an beliebiger Stelle einer Seite ausgeben statt an diesen beliebigen Stellen einer Seite immer wieder einzelne Abfragen zu machen.
 
Achso langsam verstehe ich mehr,

Ich würd ger hiermit weitermachen da mir das ganz logisch vorkommt

PHP:
function getSeitenname(seitenid) {
  // 1. Datenbankabfrage des Seitennamens
  // ..
  // 2. Wenn Seitenname ermittelt werden konnte ..
  if( strlen($seitenname) > 0 ){
    // 3. Bilde daraus die URL
    $url = "/".urlencode($seitenname);
    // 4. und gib diese zurück
    return $url;
  }
}

Muss ich jetzt noch die Spalte seitenid hinzufügen ?
 
Hast Du die noch nicht? Wie wolltest Du denn deine Seiten Unterscheiden? Am Namen? Was ist wenn es 2 Seiten "Kontakt" gibt? ;) Eine ID ist immer besser in solchen Fällen, weil eindeutig.
 
So habe jetzt seitenid erstellt ( varchar (20) )

Und den Phpccode mal ein bisschen vervollständigt:

PHP:
<?php
function getSeitenname(seitenid) { 
include("dbverbindung.php");
$result = mysql_query("SELECT inhalt FROM content") or die("DB-Server nicht erreichbar");                            
while  ( $row =  mysql_fetch_assoc($result) )
{
echo $row['inhalt'];
}            
if( strlen($seitenname) > 0 ){ 
$url = "puitv.de/".urlencode($seitenname); 
return $url; 
} 
} 
mysql_close();  
?>

Nur ich habe nicht ganz verstanden wie es weitergeht !
 
Diese Funktion baut dir den Seitennamen zusammen. Folglich musst Du sie überall dort nutzen, wo Du im Menü Links setzt.
 
Also ich hab das eher so gedacht, ich habe ja einen Code ;) und jede Spalte in phpmyadmin erstellt eine Seite: seitename, überschrift , inhalt u.s.w kennst du ja schon.

Und dan kann man ganz normal auf diese Seite verlinken und auf der Seite example.de/basketball ist die Überschrift und der Inhalt üebr Basketball und auf example.de/fußball der über Fußball z.b
 
Das musst du mit einer .htaccess Datei machen (wo ei es z.b. auch Wordpress macht)
 
So habe jetzt eine .htaccess Datei angelegt doch ich habe keine Ahnung davon was muss den in die .htaccess Datei ?
 
Stichwort mod_rewrite. Was damit genau geschrieben wird, hängt von deinen Anforderungen ab. Es gibt mehr als genug Beispiele im Netz.
 
Zurück
Oben