php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2005, 21:08  
Gast
 
Beiträge: n/a
Standard Auslesen Tabelleneintrag über zugewiesene Variable in Datei

Hallo, liebe comunity,

ich möchte gern Folgendes ersetzen.

Wo das define ".CALNAME." steht, würde ich gern einen dynamischen Eintrag haben.
Zitat:
echo "<table width=\"100%\" cellspacing=\"0px\" ><tr>"
."<td width=\"50%\" class=\"title_c\" align=\"right\">"._CALNAME."</td>"
."<td width=\"50%\" class=\"titlesub_c\">$sitename</TD>"
."</TR></TABLE>";
Hintergrund:
Das jeweilige Modul hat ne Bezeichnung, die aus der DB-Tabelle nuke_modules kommt, aus dem Feld "title".

In der Datei, die den include-Befehl für die Datei für die Überschriftenzeile enthält, gibt es u.a. Folgendes:
Zitat:
$module_name = basename(dirname(__FILE__));
Die Bezeichnung des Moduls ist wie oben schon geschrieben, im Feld "title", die Bezeichnung benutzerdefinierte Bezeichnung ist im Feld "custom_title".

Dort, wo jetzt "._CALNAME." steht, müsste eine Abfrage in der DB-Tabelle stehen, so etwas wie (Achtung: ICh bin PHP Anfänger!!)
Zitat:
select From nuke_modules
where guck nach bei
$module_name = basename(dirname(__FILE__));
und nimm den passenden Wert aus Feld custom_title
und pack den dann rein
Die Logik von DBs ist mir ja halbwegs klar, nur krieg ich's mit dem php "noch" nicht gebacken.

Aber alles, was ich hier geholfen bekomme, geht ein in meine Codeschnipsel, und mit der Zeit werd ichs auch wissen......

Danke, wenn Ihr mir helft!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.02.2005, 00:16  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
"SELECT 
      custom_title
FROM
      nuke_modules
WHERE
      spalteX = '" . basename( dirname(__FILE__) ) . "'";
spalteY ist die Spalte, die vergleichen werden soll. Keine Ahnung, wie die bei Dir heißt.

Grüße Ben.
imported_Ben ist offline  
Alt 14.02.2005, 08:51  
Gast
 
Beiträge: n/a
Standard Danke

Zitat:
Das jeweilige Modul hat ne Bezeichnung, die aus der DB-Tabelle nuke_modules kommt, aus dem Feld "title".
Danke für Deine Hilfe, ich werds heute vormittag, wenn meine Büroarbeit es zulässt, ausprobieren und das Ergebnis dann posten.
 
Alt 14.02.2005, 09:46  
Gast
 
Beiträge: n/a
Standard Mit meiner Syntax stimmt anscheinend was nicht....

Hallo, habs versucht, einzubauen, aber leider

wird in der betreffenden Zelle statt des Inhalts der Variablen die Select-Anweisung im Klartext angezeigt.
Zitat:
echo "<table width=\"100%\" cellspacing=\"0px\" ><tr>"
."<td width=\"50%\" class=\"title_c\" align=\"right\">";
echo "SELECT
custom_title
FROM
".$prefix."_modules
WHERE
title = '" . basename( dirname(__FILE__) ) . "'";
echo "</td>";

echo "<td width=\"50%\" class=\"titlesub_c\">$sitename</TD>";

echo "</tr></table>";
Klartext in der Zelle:
Zitat:
SELECT custom_title FROM mx1_modules WHERE title = 'titles'

Dieses WHERE title = 'titles'
bringt mich darauf, dass 'titles' das Verzeichnis ist, in dem die includierte Datei liegt.

Module-Datei: CMS/modules/conteudo/index.php

include-Datei: CMS/themes/mytheme/titles/title_default.php

Das bedeutet, dass ich die title_default.php zwangsweise im gleichen Ordner haben muss, wie die Zentraldatei, oder wie "erklärt" man der Anweisung, dass sie sich auf die
basename( dirname(__FILE__) )
in der Zentraldatei zu beziehen hat?
 
Alt 14.02.2005, 09:49  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

hast du überhaupt ahnung von mysql? das von BEN geschriebene war ein query, das ist das was du an die Datenbank schickst. Wenn nicht dann solltest du das vieleicht erstmal bissel was über/für/mit mysql lernen ansonsten vieleicht mal anstatt nem echo
mysql_query
mysql_error
und
mysql_fetch_assoc

verwenden.
robo47 ist offline  
Alt 14.02.2005, 10:01  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie robo sagte, es war ausschließlich die SQL-Anweisung.

Du musst diese Anweisung jetzt mittels mysql_query() an die Datenbank schicken. Vorher sollte natürlich die Verbindung zur Datenbank mit mysql_connect() und mysql_select_db() hergestellt worden sein.

Um eventuelle Fehler schneller zu finden verwende mysql_query() immer im Zusammenhang mit mysql_error().
Bei www.php-faq.de findest Du auch etwas dazu.

mysql_query() gibt dir bei korrekter SQL-Anweisung eine Ergebnisresource zurück. Diese Resource musst Du dann irgendwie verarbeiten. Das geht mit den fetch-Methoden von MySQL.

Ich verwende immer mysql_fetch_object() oder wenn es sein muss mysql_fetch_assoc().
Du erhälst im ersten Fall ein Objekt über das Du dann mittels $objektname->spaltename auf den selektierten Wert zugreifen kannst.

Im zweiten Fall erhälst Du einassoziatives Array. Zugriff über $arrayname[spaltenname]

Um zu verstehen, wie man mit Arrays arbeitet kannst Du auch mal hier reinschauen:
Was sind eigentlich Arrays?
http://www.php-info.org/ftopic35.html

Viel Erfolg.

Grüße Ben.
imported_Ben ist offline  
Alt 14.02.2005, 10:04  
Gast
 
Beiträge: n/a
Standard 99 Punkte...

Nein, hab ich nicht wirklich, aber das Buch, welches ich mir sofort gegriffen habe "MySql für Dummies" und danach hab ich folgendes probiert, was aber zu genau dem gleichen Ergebnis geführt hat, wie schon oben beschrieben..
Zitat:
$sql = "SELECT custom_title FROM ".$prefix."_modules
WHERE title = '" . basename( dirname(__FILE__) ) . "'";
echo "<table width=\"100%\" cellspacing=\"0px\" ><tr>"
."<td width=\"50%\" class=\"title_c\" align=\"right\">";
mysql_query($sql);
echo "</td>";
echo "<td width=\"50%\" class=\"titlesub_c\">$sitename</TD>";
echo "</tr></table>";
Und es ist noch nicht geklärt, wie man an den Namen des Verzeichnisses der Zentralen Datei kommt.

Bitte seid doch so gut, und helft mir weiter, ja?
 
Alt 14.02.2005, 10:06  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe Dir weitergeholfen.
Mehr Hilfe gibt es von mir zu diesem expliziten Problem nicht, da mein Beitrag alles erklärt, was Du brauchst.

Grüße Ben.
imported_Ben ist offline  
Alt 14.02.2005, 10:37  
Gast
 
Beiträge: n/a
Standard

Soory, das Schreiben meines Beitrags mit der bitte um Hilfe ist durch ein Telefonat unterbrochen worden, daher hängt es hinter Euren Antworten, die aber von mir beim Abschicken noch nicht gelesen werden konnten.

Zitat:
Du musst diese Anweisung jetzt mittels mysql_query() an die Datenbank schicken. Vorher sollte natürlich die Verbindung zur Datenbank mit mysql_connect() und mysql_select_db() hergestellt worden sein.
Die Verbindung zur DB ist meines Erachtens bereits über die Zentraldatei im Nuke hergestellt.

Das mit den Array habe ich gelesen, aber je öfter ich das lese, je weniger verstehe ich, wie ich das nun in die Praxis umsetzen soll.

Wenn mir jemand von Euch das in die obige Anweisung einbaut, dann hab ich ne Chance, das in die Theorie zurückzuverfolgen und daraus zu lernen und zu verstehen, was Ihr meint.

Bitte, bitte...
 
Alt 14.02.2005, 11:00  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von gg
Die Verbindung zur DB ist meines Erachtens bereits über die Zentraldatei im Nuke hergestellt.
Keine Ahnung. Ich kenn PHP-Nuke nicht.

Zitat:
Zitat von gg
Das mit den Array habe ich gelesen, aber je öfter ich das lese, je weniger verstehe ich, wie ich das nun in die Praxis umsetzen soll.
Oha. Klingt nicht gut. Komischerweise habe ich bisher nur Gutes über das Tutorial gehört.
Was verstehst Du denn daran nicht?
imported_Ben ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei auslesen Joerg80 PHP Tipps 2008 8 26.03.2008 22:18
Log Datei auslesen Computer PHP Tipps 2006 7 05.09.2006 16:15
Daten aus einer txt Datei auslesen lassen Zangelo PHP Tipps 2006 4 29.05.2006 09:57
eine txt datei mit dem selben namen wie ein bild auslesen??? bona PHP Tipps 2006 18 20.02.2006 16:14
CSV Datei einlesen, auslesen, updaten PHP Tipps 2006 6 08.01.2006 17:18
externe csv datei auslesen lord nacon PHP Tipps 2007 4 11.12.2005 22:56
Text datei. Zeugs auslesen dsmcg PHP Tipps 2007 38 30.11.2005 20:39
Text datei geordnet auslesen!! lindner PHP Tipps 2007 7 18.11.2005 09:52
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Formular auslesen mit PHP -> Variable mehrfach aúsgeben DDogg PHP Tipps 2005 2 21.04.2005 13:16
Ext .txt Datei auslesen PHP Tipps 2004 2 14.08.2004 21:18
variable auslesen? PHP Tipps 2004 12 07.08.2004 08:14
Datei auslesen Stümper PHP Tipps 2004 1 04.08.2004 14:49
aus mysql db auslesen und in datei schreiben. Sclot PHP Tipps 2004 2 19.07.2004 21:56
Variable von .txt Datei auslesen PHP Tipps 2004 1 01.07.2004 11:18


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.