kann Javascript Mysql werte auslesen ?

es zeigt mir in einem Kalender den Eintrag an was an diesem Tag so los ist z.B. Geburtstag oder Termin oder Versammlung oder oder oder ;) und damit das alles nicht in einem neuen Fenster geschiet wird das als Info Fenster angezeigt das kennt jeder wenn man über die Windows Butttons geht dann kommt doch eine kleine Beschreibung ;)

und anstatt eine Beschreibung erscheint eben der INhalt aus der DB vom Kalender :)
 
Also... das Problem ist... Du steckst nicht wirklich tief im Stoff drin oder?
Außerdem denke ich, dass kaum jemand (wenn nicht sogar niemand) weiss, wie dieses Infofenster funktionier, was du da verwendest und dir deshalb auch keiner sagen kann, wie du darin etwas anzeigen kannst. Noch dazu von einer SQL-Abfrage, von der keiner weiss wo sie aufgerufen wird und mit welchen Variablen dadurch darauf zugegriffen werden kann...
Ich hoffe ich spreche hier nicht nur für mich!

Aber:
Der Teil, der ein neues Browserfenster öffnet, ist einmal dieses Javascript:
HTML:
<script language=\"javascript\">
      function open_event(date_stamp){
        window.open(\"" . $calendar_script . "?show_event=true&event_date=\" + date_stamp, \"calendar_popup\",\"height=" . $event_popup_height . ",width=".$event_popup_width."\");
      }
        </script>
welches von dieser Stelle aus aufgerufen wird:
PHP:
$link_start = "<a href="javascript:;" class="cal_event" onclick="javascript: open_event('".$year."-".$month."-".$i."');">";
Wenn das ganze in einem Infofenster bei mouseover erscheinen soll, dann brauchst du den ersten Teil nicht.
Nun zum MySQL:
PHP:
if (isset ($_GET['show_event'])){
    list ($year, $month, $day) = explode ("-", $_GET['event_date']);
    $query = "
      SELECT *
      FROM " . $event_table . "
      WHERE EventYear  = '" . $year . "'
      AND   EventMonth = '" . $month . "'
      AND   EventDay   = '" . $day . "'
      ORDER BY EventTime ASC
    ";
Hier wird nur der Abfrage-String festgelegt. An einer anderen Stelle (evtl in der Datei calendar2.php) müsste der dann noch zur Datenbank geschickt werden. Das sieht warscheinlich so aus:
PHP:
$result = mysql_query($query);
Danach ist in $result das Ergebnis, um das zu verwenden, brauch man dann sowas ähnliches:
PHP:
while ($einzelnezeile = mysql_fetch_array($result)) {
//und irgendwie diese zeile anzeigen.
}
Ich weiss nicht genau, ob das jetzt irgendwie weiter hilft...
 
Huhu danke erstmal für deinen Beitrag :)

also ich habe mir gedacht das ich das hier zum abfragen brauch ?

PHP:
window.open(\"" . $calendar_script . "?show_event=true&event_date=\" + date_stamp, \"calendar_popup\",\"height=" . $event_popup_height . ",width=".$event_popup_width."\");
      }

$calendar_script ist calenar2.php

aber diese show_event=true&event_date.....

ich dachte das wäre die Anweisung um den Event aus der DB zu holen :)

ich habe nochmal nach dem
PHP:
$result = mysql_query($query);
geuscht und das hier alles gefunden


PHP:
  if ($events_from_database)
  {
    $database_connection = mysql_connect ($server, $username, $password);
    mysql_select_db ($database, $database_connection);
    $result = mysql_query("
      SELECT *
      FROM " . $event_table . "
      WHERE
        EventYear = '" . $year . "'
      AND
        EventMonth = '" . $month . "'
    ");
    while ($record = mysql_fetch_assoc($result)){
      $event[$record['EventDay']] = $record;
    }
  }

PHP:
	/////////////////////////////////////////////
	//show events in popup?
	//
	if (isset ($_GET['show_event'])){
    list ($year, $month, $day) = explode ("-", $_GET['event_date']);
    $query = "
      SELECT *
      FROM " . $event_table . "
      WHERE EventYear  = '" . $year . "'
      AND   EventMonth = '" . $month . "'
      AND   EventDay   = '" . $day . "'
      ORDER BY EventTime ASC
    ";

    /* connect to the database */
    $database_connection = mysql_connect ($server, $username, $password);
    mysql_select_db ($database, $database_connection);
    $result = mysql_query ($query) or die(mysql_error());

und das hier unten zeigt normalerweise die verschiedenen Einträge in 2 verschiedenen Farben an als Variable existieren

PHP:
/* loop through the results via a mysql_fetch_assoc () */
    while ($record = mysql_fetch_assoc ($result)){
      if ($color_alternated){
        $color_alternated = false;
        $background_color_row = $event_background_color1;
      }
      else{
        $color_alternated = true;
        $background_color_row = $event_background_color2;
      }

so das ist was ich gefunden habe dazu.

Wäre es leichter eine neue Variable zu erstellen die das hier alles abfragt und dann diese Variable z.b. $Event_onmouseover in die Zeile mit dem Javascript einzufügen ?

das würde dann so z.b. aussehen

PHP:
/* if there is an event do */
		if( isset($event[$i]) )
    {
     $link_start = "<a href=\"javascript:;\" class=\"cal_event\" onMouseover=\"javascript:this.T_STATIC=true;this.T_TEXTALIGN='justify'; this.T_BGCOLOR='#e2eef5';this.T_TITLE='".sprintf("%02d",$i).".".$month.".".$year."';this.T_OFFSETX=-60;  this.T_WIDTH=120; return escape(' " . $Event_onmouseover . " ');\">";
      $link_end   = "</a>";
      $class      = "cal_event";
    }

ich kann ja das Datum anzeigen lassen und das geschieht ja auch nur durch die Variablen oder sehe ich das falsch ? müsste doch dann klappen oder

Naja aber wie stell ich das an ? an code schnipseln ist ja alles vorhanden...

oder ist schon alles vorhanden um die sachen aus der Db zu holen ?
.....
also mal zu mir :) ich habe gerade erst mit html angefangen und da mit php anscheined viel mehr zu realisiere ist würde ich shcon mehr über php wissen und machen :) ich wusste vorher auch nciht das ich einfach meine index.html in index.php umnennnen kann und trotzdem läuft alles :)



Edit:....

Wenn ich nun in die Javascript Zeile

PHP:
return escape('".$result."');\">";

dann zeigt er mir im Info Fenster das hier an

Resource id #5

oder brauch ich mehr ?

Edit nochmal ;)

also wenn ich nur die variablen eintrage geht nichts,,

und wenn ich sowas erstelle

PHP:
§event_onmouseover = echo "<table width=\"120\"><tr><td></td></tr>"

zeigt er mir falscher echo als fehler an.....

ohje... sowas get auch net oder liege ich mit so einfachen anweisungen falsch ?

PHP:
<?php
$event_onmouseover = echo "".$_GET['show_event']." &gt; ".$_GET['event_date']."<br />\n";
?>
 
Zuletzt bearbeitet:
Zurück