ERLEDIGT
NEIN
NEIN
ANTWORTEN
30
30
ZUGRIFFE
679
679
EMPFEHLEN
-
Ich blick nicht mehr durch,
habe mehrfach die Suchfunktion benutzt - das was ich fand paßte nicht so ganz zu dem was ich suche - habe damit aber schon etwas erreicht - bekomme wenigstens etwas angezeigt.
meine Webseite wird über eine index.php angezeigt, die Inhalte kommen dynamisch aus der Datenbank (pageContent) ich möchte auf der Webseite anzeigen, wann die (gerade angezeigte Seite - pageID)Seite erstellt, bzw. zuletzt bearbeitet wurde.
habe folgende Tabelle mit den Spaltenüberschriften
pageID pageAuthorID pageTitle pageContent pageCreateDate visible parentPageID displayInMenu usePageTreeMenu
zur Abfrage nutze ich folgendes Query:
$z=mysql_query("SELECT pageID,pageTitle,pageCreateDate FROM acp_content LIMIT 1"); //Auswahl ausführen und Ergebnis in Variable z speichern
while($unter=mysql_fetch_array($z)) //nun wird das Ergebnis welches in $z steht in ein Array $unter umgewandelt und so lange durchlaufen wie Zeilen die Abfrage ausgibt.
{
echo "$unter[pageID] - $unter[pageTitle] - $unter[pageCreateDate]"; //da $unter nun ein Array ist, muss es dementsprechend mit Feldbezeichungen ausgegeben werden
}
//mysql_close(); //Verbindung zum Server schließen
?>
als Ausgabeergebnis gibt er mir:
1 - Startseite - 1252331883 - wenn ich LIMIT nicht auf 1 setzte bekomme ich natürlich alle Seiten angezeigt.
wenn ich die Seite wechsel werden aber die Daten der Startseite weiter angezeigt und nicht die der Aktuellen Seite.
<b>1 </b><br />Startseite</b><br />1252331883<br />
<br />
<b>2 </b><br />Impressum</b><br />1252331883<br />
<br />
<b>3 </b><br />AGB</b><br />1252331883<br />
<br />
.....
<b>178 </b>Forum</b>1280426491<br /><br />
Wie kann ich es realisieren, das nur die Daten der angezeigten Seite sichtbar sind - steh echt auf´m Schlauch und blick nicht mehr durch.
Wahrscheinlich denke ich zu kompliziert.
-
02.08.10 14:31 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.520
Das was da als pageCreateDate ausgegeben wird, ist ein Zeitstempel. Das sind die seit dem 1.1.1970 vergangenen Sekunden. Du kannst das mittels date()-Funktion in ein menschen-lesbares Format umwandeln:
Code php:1
echo date("Y-m-d H:i:s", $unter[pageCreateDate]);
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
hallo saftmeister,
erst mal - DANKE - für die schnelle Antwort
ich möchte, das ich wenn eine Seite aufgerufen wird, auch nur zu der Seite mit der Seiten ID das Datum angezeigt wird - wenn Du noch bock hast - schau bitte mal auf:
http://www.pro-blem.de/index_dbabfrage.php
dort werden alle seiten mit ID | Seitenname | Erstelldatum gelistet - entsprechend der Abfrage
egal, auf welchen Punkt ich klicke bleibt aber immer das Datum der Startseite in der Anzeige egal, welche pageID er im Browser anzeigt - kannst Du nachvollziehen, wenn Du auf Startseite klickst und dann durch die einzelnen links weitergehst
Gruß Peter
-
Der Code von Saftmeister ist richtig, der Fehler muss also irgendwo bei dir liegen, zeige dochmal die dein Script bis jetzt aussieht.
-
hallo timestamp,
hier der code:
<?php
$z=mysql_query("SELECT pageID,pageTitle,pageCreateDate FROM acp_content LIMIT 1"); //Auswahl ausführen und Ergebnis in Variable z speichern
while($unter=mysql_fetch_array($z)) //nun wird das Ergebnis welches in $z steht in ein Array $unter umgewandelt und so lange durchlaufen wie Zeilen die Abfrage ausgibt.
{
echo "$unter[pageID] - $unter[pageTitle] - $unter[pageCreateDate] ";
echo date("Y-m-d H:i:s", $unter[pageCreateDate]); //da $unter nun ein Array ist, muss es dementsprechend mit Feldbezeichungen ausgegeben werden
}
//mysql_close(); //Verbindung zum Server schließen
?>
ich sag´s ja, denke ich zu kompliziert wenn ich nur das Erstelldatum, bzw. datum der letzten bearbeitung pasend zu seitenID ausgeben lassen will?
Gruß Peter
-
02.08.10 15:18 #6
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Die Abfrage die du oben geschrieben hast enthält keinen WHERE Abschnitt, es wird also nur durch "LIMIT 1" die Ausgabe beschränkt. Wenn auf den verlinkten Seiten immer der falsche Wert angezeigt wird, müsste es also daran liegen das du in der Abfrage nicht nach der ID filterst!?
Wenn der Code formatiert wäre, wäre es einfacher zu lesen, hoffe mal nicht das ich was übersehen habe.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
hallo tombe,
danke für deine hilfreiche Antwort!
genau an dieser Zuordnung fehlt es mir vom Verständnis her d.h. wie kann ich es gestalten, das die pageID1 auch genau den Timestamp aus der dazugehörenden Zeile bekommt oder wie kann die Filterung nach pageID umgestetzt werden?
Gruß Peter
-
02.08.10 15:34 #8
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Du übergibst ja bei jedem Link die pageID, dann muss die SQL Anweisung so aussehen:
bzw. so:PHP-Code:$sql = "SELECT pageID, pageTitle, pageCreateDate FROM acp_content WHERE pageID = '" .mysql_real_escape_string($_GET["pageID"]) ."' LIMIT 1";
PHP-Code:$z=mysql_query("SELECT pageID, pageTitle, pageCreateDate FROM acp_content WHERE pageID = '" .mysql_real_escape_string($_GET["pageID"]) ."' LIMIT 1");
Geändert von tombe (02.08.10 um 15:38 Uhr)
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Übrigens, bei assoziativen arrays (mit STRINGS als index) müssen diese in Anführungszeichen stehen (ansonsten wir ein Fehler der Stufe e_notice oder warning erzeugt)
Bitte schreibe deine PHP Codes doch auch in [php] [/php] tags
Ich habe deinen Code mal ein wenig verschönert (z.b. unnötige Kommentare entfernt
)
PHP-Code:<?php
$result=mysql_query("SELECT pageID,pageTitle,pageCreateDate FROM acp_content ORDER BY pageCreateDate DESC"); //Auswahl ausführen, neueste Beiträge zuerst
while($row = mysql_fetch_array($result) ){
echo $row['pageID'].' - '.$row['pageTitle'].' - ';
echo date('H:i:s d.m.Y', $row['pageCreateDate']);
echo '<br />';
}
mysql_close();
?>
-
02.08.10 15:46 #10
@timestamp: Nein, das stimmt nicht ganz. Zuerst sucht PHP nach einer Konstanten und wenn es keine Konstante gibt, dann werden die Zeichen in einen String verwandelt.
Der Link: PHP-Performance.deGeändert von ComFreek (02.08.10 um 17:27 Uhr)
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
02.08.10 16:07 #11
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
@Peter
Gehen tut es ja jetzt scheinbar, nur die Formatierung des Datum und der Uhrzeit klappt wohl noch nicht so ganz.
Du kannst das Feld "pageCreateDate" auch gleich in der Abfrage formatieren:
Code sql:1
SELECT pageID, pageTitle, DATE_FORMAT(pageCreateDate, "%H:%i:%s - %d.%m.%Y") FROM ...
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Hallo tombe, ComFreek und timestamp,
vielen Dank für Eure Unterstützung und Hilfe. Das Ergebnis ist zu sehen unter:
http://www.pro-blem.de/
Ein hab ich noch:
wie sezte ich es um, das wenn z.Bsp:
index.php?pageID=152 dann auch nur das: 152 - F A Q - 24.11.2009 09:12:08
angezeigt wird?
Da steh ich noch ganz schön auf dem Schlauch (Zuordnung pageID zur Anzeige Änderungsdatum)
Sorry, will echt nicht nerven!
Gruß Peter
-
02.08.10 17:29 #13Dafür ist doch das Forum dar
Zitat von diepeter

Ich verstehe nicht ganz deine Frage.
PS: Deine PHP-Datei hat einen Fehler:Code :1
Parse error: syntax error, unexpected T_STRING in /home/pro-blemde/public_html/index.php on line 374
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
02.08.10 17:36 #14
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Wenn ich es vorhin richtig gesehen habe, dann hattest du die Lösung doch schon. Du musst bei der SQL Abfrage ein WHERE Bedingung setzten:
So würde dann die Anweisung inklusive Formatierung des Datums aussehen.PHP-Code:$sql = "SELECT pageID, pageTitle, DATE_FORMAT(pageCreateDate, "%H:%i:%s - %d.%m.%Y") FROM acp_content WHERE pageID = '" .mysql_real_escape_string($_GET["pageID"]) ."' LIMIT 1";
$result = mysql_query($sql);
Noch was anderes.
Scheinbar stimmt mit der Kodierung der Seite und/oder der Datenbank was nicht. Alle "Ä", "ä", "Ö", "ö", usw. werden falsch angezeigt!Geändert von tombe (02.08.10 um 17:38 Uhr)
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Hallo ComFreek,
den Fehler habe ich verursacht, da ich weiter am probieren bin und gerade bei SELECT war - leider mit o.g. Fehlermeldung.
ich will erreichen, das über dem Seitentitel angezeigt wird, wann sie erstellt bzw. geändert wurde.
Das sollte dann so: 1 - Startseite - 07.09.2009 15:58:03 aussehen
wobei
1 =pageID
Startseite=pageTitle
07.09.2009 15:58:03 = pageCreateDate ist
aber eben nur für die angezeigte Seite,die über die index.php aufgerufen wird:
index.php?pageID=175
da soll dann oben stehen: Site Map - 25.07.2010 19:34:59
Das kann eigentlich nicht so schwer sein, da ja die aufgerufene Seite schon über die index.php?pageID=175
eindeutig identifiziert ist - oder mach ich da wirklich einen blöden Denkfehler und hab mich voll vertan?
Gruß Peter
Ähnliche Themen
-
Seite in Seite ohne iframe anzeigen?
Von Vapire im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 18.05.07, 11:43 -
Datum anzeigen
Von Bunny1502 im Forum Flash PlattformAntworten: 4Letzter Beitrag: 08.06.06, 13:19 -
Datum anzeigen!
Von -Ener- im Forum .NET Windows FormsAntworten: 5Letzter Beitrag: 11.01.06, 14:40 -
Dynamisches Banner? Dynamische Seite?
Von Kai-Behncke im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 23.05.05, 09:15 -
Datum anzeigen
Von sven0024 im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 24.01.05, 16:32





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren