Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MySQL- Hilfe bei Abfrage

Empfohlene Antworten

Veröffentlicht

Hi,

Ich will eine Abfrage von meinem JCAl-Calender haben. Soweit habe ich schon ein wenig programmiert, aber ich kenne mich damit nicht aus:

$abfrage = "SELECT concat_WS('-',year,month,day) AS Datum1, title FROM jos_jcalpro2_events ORDER BY Datum1";


$ergebnis = mysql_query($abfrage);


while($row = mysql_fetch_object($ergebnis))


{


echo "$row->Datum1 - $row->title <br>";


}?>

Da kommt dann:

2009-10-10 - Crazy After Summer Party 3

2009-10-10 - Weseke (Partynacht)

Also soweit so gut, aber ich würde gerne das Datum so haben:

10.10.2009 - Crazy After Summer Party 3

10.10.2099 - Weseke (Partynacht)

und nur die Datensätze, die ab heute, oder in der Zukunft liegen und nur immer eine gewissen Anzahl, z.b. 30 Stück.

Ich hoffe, du kannst mir dabei helfen.

DANKE

Wenn du das Datum anders formatiert haben möchtest, dann schau dir mal die concat-Funktion genauer an. Um nur Datensätze auszugeben, die in der Zukunft liegen, musst du eine WHERE-Bedingung über das Datumsfeld einbauen.

  • Autor

Hi,

@ lupo49: danke für die Hilfe, aber ich bekomme es einfach nicht hin, dass ich mein Datum (Das ja aus drei eigenen Spalten besteht), mit der WHERE-Bedingung zu vergleichen :-(

@dgr243: Wie muss ich denn "LIMIT" benutzen?

DANKE

Das geht doch durch einfaches überlegen. Schaue dir den Aufbau des concat-Befehls an:


SELECT concat_WS('-',year,month,day) ...

Anhand welcher Reihenfolge wird wohl die Ausgabe aufgebaut?

  • Autor
Das geht doch durch einfaches überlegen. Schaue dir den Aufbau des concat-Befehls an:


SELECT concat_WS('-',year,month,day) ...

Anhand welcher Reihenfolge wird wohl die Ausgabe aufgebaut?

Hi,

ja das wusste ich auch vorher schon, dass man die umdrehen kann, aber ich kann das dann nicht mit dem aktuellen Tag (13.08.2010) vergleichen, damit ich nur die heutigen und kommende bekomme :-(

Normalerweise nutzt man auch den Datentyp DATE um Daten in eine Tabelle zu speichern. Der bietet weitaus mehr Möglichkeiten, als drei Spalten Tag, Monat, Datum. Mit dem Datentyp kannst du ohne großen Aufwand eine Menge an Datumsoperationen ausführen.

  • Autor

HEy,

also bis jetzt habe ich folgendes:

<?php

$verbindung = mysql_connect("localhost",

"*****","******")

or die ("keine Verbindung möglich.

 Benutzername oder Passwort sind falsch");


mysql_select_db("*****")

or die ("Die Datenbank existiert nicht.");

?>


<?php


$abfrage = SELECT concat_WS('-',year,month,day) AS Datum1, title FROM jos_jcalpro2_events WHERE Datum1 > CURDATE() ORDER BY Datum1 LIMIT 30


$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))

   {

   echo "$row->Datum1 - $row->title <br>";

   }

?>

leider kommt da dann immer die Fehlermeldung:

Parse error: syntax error, unexpected T_STRING in /var/www/vhosts/der-partykalender.info/httpdocs/iphone/test.php on line 15

Also in der Zeile mit: $abfrage =

:-(

  • Autor

Ich habe jetzt eine andere Spalte gefunden bei MySQL:

Die Spalte: "start_date" gibt das im Format "datetime" ist. Vielleicht kann man damit besser arbeiten? Sind so Einträge drin: 2009-03-28 19:00:00

???

  • Autor

Klappt :-) aber leider steht da jetzt noch die Zeit falsch: 2010-08-14 06:00:00

Wie kann ich das in der Ausgabe umdrehen?

<?php

$verbindung = mysql_connect("localhost",

"*****","*****")

or die ("keine Verbindung möglich.

 Benutzername oder Passwort sind falsch");


mysql_select_db("******")

or die ("Die Datenbank existiert nicht.");

?>


<?php


$abfrage = "SELECT start_date, title FROM jos_jcalpro2_events WHERE start_date > CURDATE() ORDER BY start_date LIMIT 30";


$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))

   {

   echo "$row->start_date - $row->title <br>";

   }

?>

  • Autor

HEy, hab es schon geschaft :-)


$abfrage = "SELECT concat_WS('.',day,month,year) AS Datum1, start_date, title FROM jos_jcalpro2_events WHERE start_date > CURDATE() ORDER BY start_date LIMIT 30";


$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))

   {

   echo "$row->Datum1 - $row->title <br>";

   }

Jetzt eine andere Frage:

Es gibt in der Tabelle die Spalte "description". Wie kann ich einen HyperLink zu dieser Beschreibeung über den Title legen?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.