mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 06:21 Benutzername: Passwort: Auto-Login

Thema: MySQL & PHP: Webseiten Inhalt nach Artikel Typ anpassen vom 11.04.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> MySQL & PHP: Webseiten Inhalt nach Artikel Typ anpassen
Autor Nachricht
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 11.04.2008 21:22
Titel

MySQL & PHP: Webseiten Inhalt nach Artikel Typ anpassen

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

verwende hier ein auf MySQL basierendes CMS und möchte nun folgende Anpassung vornehmen:

Habe in der Datenbank unter der vorhandenen Hauptkategorie "Articles" mehere Unterkategorien (z.B. Kolumne) angelegt. Wenn ein Artikel aus der Datenbank aufgerufen wird, integriert das System automatisch den Inhalt einer weiteren PHP Datei (right_articles.php) für die Spalte rechts neben dem eigentlichen Inhalt. In genau dieser Datei möchte ich nun sowas wie eine "Weiche" einbauen, die je nach der angezeigten Unterkategorie automatisch auf ein entsprechend angepasste Version der PHP Datei für die rechte Spalte verweist.

Beispiel: Ein Artikel aus der Unterkategorie "Kolumne" wird aufgerufen und in der right_articles.php wird automatisch eine "right_kolume.php" Datei aufgerufen, die ich inhaltlich an die Unterkategorie angepasst habe.

Kann man das irgendwie umsetzen, ohne die Struktur der Datenbank verändern zu müssen?

Mir ist es an anderer Stelle z.B. schon gelungen, die letzten 5 Artikel aus diesen Unterkategorien anzeigen zu lassen:
Code:

<?php
      $latest_background = mysql_query("SELECT * from ccms_article where type='kolumne' OR type='retro' order by id desc limit 5");
      $c = 1;
      while ($row = mysql_fetch_assoc($latest_background)) {

         $title_start = preg_replace('/[^a-zA-Z0-9 *]/', '', $row[title]);
         $title_seo = str_replace(' ', '-', $title_start);
?>


Danke,
TOM
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 11.04.2008 21:44
Titel

Antworten mit Zitat Zum Seitenanfang

Z.B.: Du schreibst den Artikel Typen in eine Variable.
Code:
db select bla bla

$articleType;


und bindest anhand der Variable deine Datei ein:
Code:
right_'.$articleType.'.php


Entspricht dann eben

Code:
right_Kolumne.php
right_artikelTyp2.php
right_artikelTyp3.php


Zuletzt bearbeitet von m am Fr 11.04.2008 21:47, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 11.04.2008 21:55
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
Z.B.: Du schreibst den Artikel Typen in eine Variable.
Code:
db select bla bla

$articleType;


Hm, die entsprechende Variable habe ich ja schon in der Datenbank, wenn der oben von mir gepostete "letzten 5 Artikel" Befehl funktioniert, oder?

m hat geschrieben:

und bindest anhand der Variable deine Datei ein:
Code:
right_'.$articleType.'.php


Entspricht dann eben

Code:
right_Kolumne.php
right_artikelTyp2.php
right_artikelTyp3.php


Könnte ich den Befehl
Code:
right_'.$articleType.'.php

dann einfach als "include-Aufforderung" in die vorhandene PHP Datei setzen?
  View user's profile Private Nachricht senden
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 11.04.2008 22:11
Titel

Antworten mit Zitat Zum Seitenanfang

Habe gerade noch folgende Zeile gefunden, mit der offenbar die verschiendenen PHP Dateien für die rechte Spalte aufgerufen werden:

Code:

   if ($_REQUEST[page] == "Articles") {
      include "includes/right_articles.php";
   }


Kann mir jemand erklären, woher genau die Variable (?) Articles hier kommt? Könnte ich da nicht irgendwie meine selbst angelegten Unterkategorien mit einbauen?
  View user's profile Private Nachricht senden
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 12.04.2008 19:35
Titel

Antworten mit Zitat Zum Seitenanfang

Konnte leider immer noch keine Lösung finden - hat vielleicht noch jemand eine Idee?

Ich müsste ja irgendwie eine Abfrage einbauen, mit der automatisch nachgeschaut wird, in welcher Unterkategorie (wie diese "type" Anfrage) sich ein Artikel befindet. Von da kann ich dann mittels if/else einfach den passenden Code includen lassen...
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst So 13.04.2008 03:17
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Kann mir jemand erklären, woher genau die Variable (?) Articles hier kommt?

Entweder wird sie per POST an das Script gesendet oder per URL (GET) übergeben.
Wahrscheinlich ist es hier der zweite Fall. Und daß $_REQUEST verwendet wird, ist gar nicht gut. So hat man nicht die Kontrolle, wo die Daten herkommen, was die Möglichkeit einer Manipulation bietet.
Wenn es machbar ist, solltest du also lieber $_POST oder $_GET nehmen.

Davon abgesehen ist $_REQUEST[page] falsch. Es müßte $_REQUEST['page'] heißen.
Wenn das error_reporting auf dem Server ein wenig schärfer eingestellt wäre, würde es hier zu einer unschönen Meldung kommen. PHP würde dir dann nämlich sagen, daß du eine nichtdefinierte Konstante ansprichst und weil es dir nicht gibt, wird vermutet, daß du das Element des assoziativen Arrays meinst.

Zitat:
Könnte ich den Befehl
Code:
right_'.$articleType.'.php

dann einfach als "include-Aufforderung" in die vorhandene PHP Datei setzen?

Ich verstehe nicht, was du damit meinst? Welchen Befehl? Hier gibt es keinen Befehl und auch keine Funktion. Dort gibt es nur eine Variable.
Aber wenn du meinst, ob du dort einen Dateinamen einsetzen könntest: ja, das funktioniert natürlich. Bleibt nur die Frage, ob es sinnvoll wäre...
  View user's profile Private Nachricht senden
l3mon

Dabei seit: 26.07.2005
Ort: -5m
Alter: 58
Geschlecht: Männlich
Verfasst So 13.04.2008 10:23
Titel

Re: MySQL & PHP: Webseiten Inhalt nach Artikel Typ anpas

Antworten mit Zitat Zum Seitenanfang

CrazyLexx hat geschrieben:
...verwende hier ein auf MySQL basierendes CMS...

wär vlt hilfreich, wennsd sagen würdest, welches CMS, vlt kennts einer, hat sowas schon gemacht, kennt wen, der sowas schon gemacht hat usw.
  View user's profile Private Nachricht senden
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst So 13.04.2008 22:38
Titel

Antworten mit Zitat Zum Seitenanfang

Wir verwenden ein "CustomCMS", welche für unsere Zwecke angepasst worden ist. Da der Teil soweit "einsatzbereit" eingekauft worden ist, ist der Code auch nicht auf meinem Mist gewachsen und versuche nur nur, das Teil an einigen Ecken noch ein wenig zu modifizieren. Das der Code dabei alles andere als sauber ist, musste ich auch schon des häufigeren feststellen, läßt sich aber leider in der Kürze der Zeit jetzt nicht mehr wirklich alles ändern. * Ich geb auf... *

Ich versuche nochmal anders zu beschreiben, was ich möchte:

Code:

<?
$article_id = $_REQUEST[id];
?>

<?
echo "$article_id"
?>

Damit kann ich ja die ID zu dem gerade aufgerufenen Artikel aufrufen (der echo Teil war nur zur Kontrolle). Nun möchte ich nun an Hand dieser ID in der Datenbank nachsehen, zu welcher Unterkategorie (type) der jeweilige Artikel gehört. Habe das mal so versucht:

Code:

<?
$article_id = $_REQUEST[id];

$a_type_c = mysql_query("SELECT id from ccms_article where id='$article_id' order by id desc limit 1");
while ($a_type = mysql_fetch_assoc($a_type_c)) {
$type = $a_type['type'];
}
?>

<?
echo "$type"
?>

Leider bekomme ich damit über den ECHO Befehl aber keine Ausgabe. Habe ich da irgendwo einen Fehler gemacht?

UPDATE: Habe das Problem in meinem Code gefunden. In der Query oben muss nicht
Code:
SELECT id from

sondern vielmehr
Code:
SELCT * from

stehen - dann klappt es auch mit dem Nachbarn.


Zuletzt bearbeitet von TOMillr am Mo 14.04.2008 01:28, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Webseiten-Inhalt-Aktualisierung
div an Inhalt anpassen
Div an Inhalt anpassen
Inhalt an Fenstergröße Anpassen
Inhalt anpassen [Padding]
Popupgröße an Inhalt anpassen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.