Events Calendar MySQL

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 08 Νοέμ 2013 12:08

Καλημέρα. Μου έχει ζητηθεί μια web εφαρμογή για διαχείριση αιθουσών-χώρων-εκδηλώσεων.
Δεν θάλεγα ότι έχω πολλές γνώσεις περί αυτού αλλά το κάνω για να τις πλουτίσω. Σημειωτέον ότι όλα γίνονται δωρεάν, για τον Δήμο που δουλεύω. Αν δώ δε ότι έχει ενδιαφέρον θα το δώσω και σε όποιον ενδιαφέρεται.
Ένα κομμάτι της εφαρμογής είναι ένα ημερολόγιο εκδηλώσεων.
Χρησιμοποίησα αυτό που βασίζεται στο Google Calentar.
Το ημερολόγιο συνδέεται στη βάση και τραβάει δεδομένα από διάφορους πίνακες...
Για λόγους συντομίας θα χρησιμοιποιήσω μόνο ένα πίνακα. πχ

Κώδικας: Επιλογή όλων

CREATE TABLE IF NOT EXISTS `evenement` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) NOT NULL,
  `start` datetime NOT NULL,
  `end` datetime NOT NULL,
  `allDay` varchar(10) NOT NULL,
  `url` varchar(255) NOT NULL,
  `hall` varchar(100) NOT NULL,
  `color` varchar(100) NOT NULL,
  `textColor` varchar(50) NOT NULL,
  `brief` text NOT NULL COMMENT,
  `detail` longtext NOT NULL COMMENT,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Αυτό που θα ήθελα είναι να βάλω μια drop down list με τους χώρους μου μέσα στο js. Ξεκινώντας να δείχνει όλων και κάνοντας select έναν να δείχνει μόνο αυτού.
Πως θα βάλω μέσα στο js τη λίστα στη θέση header δίπλα στον τίτλο η στο σήμερα;

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από alou » 08 Νοέμ 2013 17:19

Δεν κατάλαβα τι εννοείς dropdown μέσα στο js, φαντάζομαι στην html εννοείς και να πράξεις αναλόγως της επιλογής με js...

Νομίζω υπάρχουν 2 πιθανότητες: είτε προσθέτεις ένα attribute στα events που να χαρακτηρίζουν τον χώρο (δεν υπάρχει κάτι τώρα), οπότε με js θα είναι εύκολο να επιλέξεις τι θα φαίνεται, είτε νέο ajax request σε κάθε επιλογή.

Με μια πρόχειρη ματιά στο plugin, στο buildHTMLForSegment βλέπω:

Κώδικας: Επιλογή όλων

if (event.source) {
			// use the event's source's classNames, if specified
			classNames = classNames.concat(event.source.className || []);
		}
θα άρχιζα να ψάχνω αυτό, γιατί με κάποιο τρόπο από ότι φαίνεται μπορείς να ορίσεις κάποιο custom class στο event.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 09 Νοέμ 2013 08:37

Προφανώς εννοώ στη HTML η λιστα και σύνδεση στο js. Ουσιατικά πρόκειται για επιλογή νέου Calendar.
Δεν ξέρω πως ένα όνομα ημερολογίου που το τραβάει από τον πίνακα να το προσθέτει appent στο "title".
Ένα δεύτερο θέμα είναι το allDay δεν δουλεύει σωστά. Ενώ η 1η εγγραφή έχει τα απαιτούμενα δηλαδή ώρες έναρξης-λήξης μέσα την ημέρα και allday=false γιατι στο week η day view μου τα κρατάει στο allday και δεν τα βάζει στις ώρες;

Ευχαριστώ

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 18 Νοέμ 2013 11:34

Έχω αυτή τη functon στο fullcalendar.js.

Κώδικας: Επιλογή όλων

	function category_dropdown(options)
			{
				//options.categories stores category term objects
				var terms = options.categories;

				//Generate HTML
				var html="<select class='eo-cal-filter' id='eo-event-cat'>";
					html+="<option value=''>"+options.buttonText.cat+"</option>";
				for &#40;var i=0;i<2; i++&#41; 
				&#123;
					html+= "<option value='"+terms&#91;i&#93;.slug+"'>"+terms&#91;i&#93;.name+"</option>";
				&#125;
				html+="</select>";
				return html;
			&#125; 
και αυτή στο φόρτωμα

Κώδικας: Επιλογή όλων

 function loadCal&#40;&#41; &#123;
				$&#40;'#calendar'&#41;.fullCalendar&#40;
				&#123;
					filters&#58;
					&#123;
					category&#58;  category_dropdown
					&#125;, ....
Πως θα το κάνω να δουλέψει; Ο Magic Script Fafos μπορει να βοηθήσει;

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 20 Νοέμ 2013 16:43

Το έχω προχωρήσει κάπως και έχω φτάσει σε 2 αρχεία...
Ένα κάνει render το ημερολόγιο και το άλλο συλλογή των δεδομένων.
Το σενάριο. Έχουμε μια λίστα με αίθουσες που γίνονται διάφορες εκδηλώσεις.
Το κάθε είδος εκδήλωσης έχει άλλο χρώμα. Όταν πρωτοανοίγει η φόρμα "Θέλω να" φορτώνει
όλες τις εκδηλώσεις. Και όταν επιλέγω μια αίθουσα να δείχνει της συγκεκριμμένης.
Έχω ηδη στειλει τον πίνακα (έχω προσθέσει 2 πεδία ακόμα) και ανεβάζω και τα άλλα 2.
Το πρόβλημα: Όταν πρωτοανοίγει η σελίδα ΔΕΝ δημιουργεί-δειχνει εκδηλώσεις. Όταν επιλέξω μια αίθουσα παίρνω τα δεδομένα. Όταν ξαναεπιλέξω άλλη αίθουσα παίρνω τα δεδομένα αλλά δεν έχει διαγράψει τα πρώτα.

Μπορει να με βοηθήσει κανείς;
Συνημμένα
cal.jpg
Ένα Screenshot
Calendar.zip
τα αρχεία
(2.37 KiB) Μεταφορτώθηκε 189 φορές

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από alou » 20 Νοέμ 2013 17:45

Το ζιπ σου εμένα πάντως μου "χτυπάει". Δείξε καλύτερα τον κώδικα εδώ να δούμε τι γίνεται.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 20 Νοέμ 2013 22:35

Περίεργο...το δοκίμασα επενειλημένα...
Τέλος πάντων μπορείς και από δω...calendar.zip για κοίτα θα κάνουμε τίποτα...
Ας βάλω και τον κώδικα. calendar.php

Κώδικας: Επιλογή όλων

...<form class="" action="calentar.php" method="post" name="form_calentar" enctype="multipart/form-data" id="form_calentar" >
	<?php 
		include&#40;'includes/menu.php'&#41;;
		$query="SELECT * FROM ref_event_type ORDER by event_type_id";
		$result = mysql_query &#40;$query&#41;;
		while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41; &#123;
		
	echo "<div style=\"margin&#58;5px;\">";
		echo "<div class=\"event_type_color\" style=\"background-color&#58;".$row&#91;'color'&#93;."; color&#58;".$row&#91;'text-color'&#93;.";\">";
		echo "<name='".$row&#91;'div_name'&#93;."' id='".$row&#91;'div_name'&#93;."' />";
		echo "<label for='".$row&#91;'div_name'&#93;."'>".$row&#91;'short'&#93;."</label>";
		echo "</div>";
	echo "</div>";					
		&#125;
		?>

	<div id="cid_6" class="event_type_color" style="background-color&#58; #fed561; color&#58; #000; padding&#58;3px;">
		<label class="form-label-right" id="hall" for="hall">
			Αίθουσα
		</label>
			<?php
				$query="SELECT * FROM ref_hall ORDER by hall";
				$result = mysql_query &#40;$query&#41;;
				echo "<select class=\"form-dropdown\" style=\"height&#58;20px; width&#58;200px; \" name =\"hall_id\" onchange=\"val&#40;&#41;\" id=\"hall_id\" >\n";			
				echo "<option selected=\"selected\" value='0'>Όλες</option>";	
				while&#40;$row=mysql_fetch_array&#40;$result, MYSQL_BOTH&#41;&#41;
				&#123;
				if&#40;$row&#91;'hall_id'&#93;==$hall_id&#41; $SELECTED="SELECTED";
				else $SELECTED="";
				echo "<option value='".$row&#91;'hall_id'&#93;."' $SELECTED>".$row&#91;'hall'&#93;."</option>\n";
				&#125;
				echo "</select>";	
			?>
    </div>
</form><div id='calendar'></div>
	<script>
	function val&#40;&#41; 
	&#123;
              /*      $&#40;'#calendar'&#41;
					.fullCalendar&#40;'removeEventSource'&#41;
					.fullCalendar&#40;'refetchEvents'&#41;
					.fullCalendar&#40;'addEventSource'&#41;
					.fullCalendar&#40;'refetchEvents'&#41;;     */

		hd = document.getElementById&#40;"hall_id"&#41;.value;
			
		$&#40;document&#41;.ready&#40;function&#40;&#41; &#123;
		
			var date = new Date&#40;&#41;;
			var d = date.getDate&#40;&#41;;
			var m = date.getMonth&#40;&#41;;
			var y = date.getFullYear&#40;&#41;;			
			
			$&#40;'#calendar'&#41;.fullCalendar&#40;&#123;				
				header&#58; &#123;
					left&#58; 'prev,next,today',
					center&#58; 'title',
					right&#58;'month,agendaWeek,agendaDay'					
				&#125;,
				editable&#58; false,
				events&#58; 'events.php?hall_id=' + hd,
							
			eventRender&#58; function&#40;event, element, view &#41; &#123; 
				var image = '<img src="'+event.img+'" class="balloon"/>';
				if &#40;view.name === "Month"&#41; &#123;
				element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;; 
				&#125; 
				if &#40;view.name === "agendaDay"&#41; &#123;
				element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;; 
				&#125; 
				
			element.popover&#40;&#123;
			html&#58; true,
			trigger&#58; 'hover',
			//title&#58; event.title,
			placement&#58; 'top',
			//content&#58; image + "<span class=\"balloon_text\">" + event.desc + "</span>",
			content&#58; '<p><img style="float&#58; left; margin-right&#58; 5px;  "'+ image + event.desc+'</p>',
			&#125;&#41;;
			&#125;,
			
			&#125;&#41;;		
			
		&#125;&#41;;
&#125;
	</script>
... και το events.php

Κώδικας: Επιλογή όλων

<?php

$hall_id = $_GET&#91;'hall_id'&#93;;
require &#40;'includes/config.php'&#41;;

// Κατάλογος των εκδηλώσεων
 $json = array&#40;&#41;;
 // Ερώτημα που ανακτά τις εκδηλώσεις
 
	if &#40;$hall_id=='0' || $hall_id==''&#41;
	&#123; 
		$sSql = "SELECT * FROM evenement ORDER BY ID";
	&#125; 
	else
	&#123;
		$sSql = "SELECT * FROM evenement WHERE hall_id='$hall_id' ORDER BY id";
	&#125;	
	
  // Σύνδεση με τη βάση δεδομένων
 try &#123;
 $bdd = new PDO&#40;'mysql&#58;host='.$dbhost.';dbname='.$dbname, $dbuser, $dbpass&#41;;
 &#125; catch&#40;Exception $e&#41; &#123;
 exit&#40;'Αδύνατη η σύνδεση  με τη βάση.'&#41;;
 &#125; 

 // Εκτέλεση του ερωτήματος
$result = $bdd->query&#40;'set character set utf8' &#41; or die&#40;print_r&#40;$bdd->errorInfo&#40;&#41;&#41;&#41;;
$result = $bdd->query&#40;"SET NAMES 'utf8'"&#41; or die&#40;print_r&#40;$bdd->errorInfo&#40;&#41;&#41;&#41;;
$result = $bdd->query&#40;$sSql&#41; or die&#40;print_r&#40;$bdd->errorInfo&#40;&#41;&#41;&#41;;
 
 // Αποτέλεσμα του ερωτήματος
 echo json_encode&#40;$result->fetchAll&#40;PDO&#58;&#58;FETCH_ASSOC&#41;&#41;;
 
?>

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από alou » 21 Νοέμ 2013 13:24

Για δοκίμασε το έτσι. Καταρχάς χρειάζεται να τρέξει η val() στο dom ready και κατά δεύτερον να αφαιρείς τα event κάθε φορά που καλείς νέα.

Κώδικας: Επιλογή όλων

<script>
  $&#40;document&#41;.ready&#40;function&#40;&#41; &#123;
   function val&#40;&#41;
   &#123;

	 $&#40;'#calendar'&#41;.fullCalendar&#40; 'removeEvents'&#41;;
      hd = document.getElementById&#40;"hall_id"&#41;.value;
         
 
      
         var date = new Date&#40;&#41;;
         var d = date.getDate&#40;&#41;;
         var m = date.getMonth&#40;&#41;;
         var y = date.getFullYear&#40;&#41;;         
         
         $&#40;'#calendar'&#41;.fullCalendar&#40;&#123;            
            header&#58; &#123;
               left&#58; 'prev,next,today',
               center&#58; 'title',
               right&#58;'month,agendaWeek,agendaDay'               
            &#125;,
            editable&#58; false,
            events&#58; 'events.php?hall_id=' + hd,
                     
         eventRender&#58; function&#40;event, element, view &#41; &#123;
            var image = '<img src="'+event.img+'" class="balloon"/>';
            if &#40;view.name === "Month"&#41; &#123;
            element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;;
            &#125;
            if &#40;view.name === "agendaDay"&#41; &#123;
            element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;;
            &#125;
            
         element.popover&#40;&#123;
         html&#58; true,
         trigger&#58; 'hover',
         //title&#58; event.title,
         placement&#58; 'top',
         //content&#58; image + "<span class=\"balloon_text\">" + event.desc + "</span>",
         content&#58; '<p><img style="float&#58; left; margin-right&#58; 5px;  "'+ image + event.desc+'</p>',
         &#125;&#41;;
         &#125;,
         
         &#125;&#41;;      
         
      &#125;
	  val&#40;&#41;;
&#125;&#41;;

   </script> 

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 22 Νοέμ 2013 08:31

Ευχαριστώ αλλά...δεν δουλεύει
Δηλαδή δεν τραβάει σε 1η φάση τα δεδομένα - όταν πρωτοφορτώνει η σελίδα...
Και δεν κάνει ανανέωση με τη αλλαγή του select.
Ο κώδικας...

Κώδικας: Επιλογή όλων

<form class="" action="calendar.php" method="post" name="form_calendar" enctype="multipart/form-data" id="form_calendar" >
	<?php 		
		$query="SELECT * FROM ref_event_type ORDER by event_type_id";
		$result = mysql_query &#40;$query&#41;;
			
		while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41; &#123;
		echo "\t\t<div name='".$row&#91;'div_name'&#93;."' id='".$row&#91;'div_name'&#93;."' class=\"event_type_color\" style=\"background-color&#58;".$row&#91;'color'&#93;."; color&#58;".$row&#91;'text-color'&#93;.";\">\n";
		echo "\t\t\t<label for='".$row&#91;'div_name'&#93;."'>".$row&#91;'short'&#93;."</label>\n";
		echo "\t\t</div>\n";				
		&#125;
	?>

	<div id="cid_6" class="event_type_color" style="background-color&#58; #fed561; color&#58; #000; padding&#58;3px;">
		<label class="form-label-right" id="hall" for="hall">
			Αίθουσα
		</label>
			<?php
				$query="SELECT * FROM ref_hall ORDER by hall";
				$result = mysql_query &#40;$query&#41;;
				echo "<select class=\"form-dropdown\" style=\"height&#58;20px; width&#58;200px; \" name =\"hall_id\" onchange=\"val&#40;&#41;\" id=\"hall_id\" >\n";
				
				if&#40;$hall_id==0&#41; $SELECTED="SELECTED";
				else $SELECTED="";
					echo "<option ".$SELECTED." value='0'>Όλες</option>";
				
				while&#40;$row=mysql_fetch_array&#40;$result, MYSQL_BOTH&#41;&#41;
				&#123;
					if&#40;$row&#91;'hall_id'&#93;==$hall_id&#41; $SELECTED="SELECTED";
					else $SELECTED="";
					echo "<option value='".$row&#91;'hall_id'&#93;."' $SELECTED>".$row&#91;'hall'&#93;."</option>\n";
				&#125;
				echo "</select>";	
				
			?>
    </div>
</form>		
	<div id='calendar'></div>
	
	<script>

  $&#40;document&#41;.ready&#40;function&#40;&#41; &#123;
   function val&#40;&#41;
   &#123;

    $&#40;'#calendar'&#41;.fullCalendar&#40; 'removeEvents'&#41;;
      hd = document.getElementById&#40;"hall_id"&#41;.value;
         
 
     
         var date = new Date&#40;&#41;;
         var d = date.getDate&#40;&#41;;
         var m = date.getMonth&#40;&#41;;
         var y = date.getFullYear&#40;&#41;;         
         
         $&#40;'#calendar'&#41;.fullCalendar&#40;&#123;           
            header&#58; &#123;
               left&#58; 'prev,next,today',
               center&#58; 'title',
               right&#58;'month,agendaWeek,agendaDay'               
            &#125;,
            editable&#58; false,
            events&#58; 'events.php?hall_id=' + hd,
                     
         eventRender&#58; function&#40;event, element, view &#41; &#123;
            var image = '<img src="'+event.img+'" class="balloon"/>';
            if &#40;view.name === "Month"&#41; &#123;
            element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;;
            &#125;
            if &#40;view.name === "agendaDay"&#41; &#123;
            element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;;
            &#125;
           
         element.popover&#40;&#123;
         html&#58; true,
         trigger&#58; 'hover',
         //title&#58; event.title,
         placement&#58; 'top',
         //content&#58; image + "<span class=\"balloon_text\">" + event.desc + "</span>",
         content&#58; '<p><img style="float&#58; left; margin-right&#58; 5px;  "'+ image + event.desc+'</p>',
         &#125;&#41;;
         &#125;,
         
         &#125;&#41;;     
         
      &#125;
     val&#40;&#41;;
&#125;&#41;;

   </script> 
Παρόλα αυτά βρήκα τη λύση βάζοντας σε φόρμα και κάνοντας ανανέωση όλης της σελίδας.
Ο κώδικας...

Κώδικας: Επιλογή όλων

...
	<div id="cid_6" class="event_type_color" style="background-color&#58; #fed561; color&#58; #000; padding&#58;3px;">
		<label class="form-label-right" id="hall" for="hall">
			Αίθουσα
		</label>
			<?php
				$query="SELECT * FROM ref_hall ORDER by hall";
				$result = mysql_query &#40;$query&#41;;
				echo "<select class=\"form-dropdown\" style=\"height&#58;20px; width&#58;200px; \" name =\"hall_id\" onchange=\"changeCategory&#40;&#41;\" id=\"hall_id\" >\n";
				
				if&#40;$hall_id==0&#41; $SELECTED="SELECTED";
				else $SELECTED="";
					echo "<option ".$SELECTED." value='0'>Όλες</option>";
				
				while&#40;$row=mysql_fetch_array&#40;$result, MYSQL_BOTH&#41;&#41;
				&#123;
					if&#40;$row&#91;'hall_id'&#93;==$hall_id&#41; $SELECTED="SELECTED";
					else $SELECTED="";
					echo "<option value='".$row&#91;'hall_id'&#93;."' $SELECTED>".$row&#91;'hall'&#93;."</option>\n";
				&#125;
				echo "</select>";	
				
			?>
    </div>
</form>		
	<div id='calendar'></div>
	
	<script>
	loadCal&#40;&#41;;

	function changeCategory&#40;&#41;
	&#123;
		document.getElementById&#40;"form_calendar"&#41;.submit&#40;&#41;;
	&#125;
	
	function loadCal&#40;&#41; 
	&#123;
	
		hd = document.getElementById&#40;"hall_id"&#41;.value;
			
		$&#40;document&#41;.ready&#40;function&#40;&#41; &#123;
		
			var date = new Date&#40;&#41;;
			var d = date.getDate&#40;&#41;;
			var m = date.getMonth&#40;&#41;;
			var y = date.getFullYear&#40;&#41;;			
			
			$&#40;'#calendar'&#41;.fullCalendar&#40;&#123;
				
				header&#58; &#123;
					left&#58; 'prev,next,today',
					center&#58; 'title',
					right&#58; 'month,agendaWeek,agendaDay'					
				&#125;,
				editable&#58; false,
				//type&#58; 'POST',
				events&#58; 'events2.php?hall_id=' + hd,
							
				eventRender&#58; function&#40;event, element, view &#41; &#123; 
				var image = '<img src="'+event.img+'" class="balloon"/>';
				if &#40;view.name === "Month"&#41; &#123;
				element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;; 
				&#125; 
				if &#40;view.name === "agendaDay"&#41; &#123;
				element.find&#40;'.fc-event-title'&#41;.append&#40;"</br>" + event.desc&#41;; 
				&#125; 
				
				element.popover&#40;&#123;
				html&#58; true,
				trigger&#58; 'hover',
				//title&#58; event.title,
				placement&#58; 'top',
				//content&#58; image + "<span class=\"balloon_text\">" + event.desc + "</span>",
				content&#58; '<p><img style="float&#58; left; margin-right&#58; 5px;  "'+ image + event.desc+'</p>',
				&#125;&#41;;
				&#125;,
				loading&#58; function&#40;bool&#41; &#123;
                if &#40;bool&#41; $&#40;'#loading'&#41;.show&#40;&#41;;
                else $&#40;'#loading'&#41;.hide&#40;&#41;;
            &#125;
			&#125;&#41;;		
			
		&#125;&#41;;

	&#125;

 
	</script>...
Αν κάποιος μπορεί να βοηθήσει να γίνεται η αλλαγή με AJAX ευχαρίστως να το δούμε...

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 22 Νοέμ 2013 08:47

Ένα δεύτερο ουσιαστικό θέμα είναι ότι τραβώντας τα δεδομένα από τον πίνακα της βάσης με json σε UTF8 τα παίρνω έτσι...

Κώδικας: Επιλογή όλων

&#91;&#123;"ID"&#58;"1","title"&#58;"\u03a0\u03c1\u03bf\u03b2\u03bf\u03bb\u03ae \u03c4\u03b1\u03b9\u03bd\u03af\u03b1\u03c2 - \u039f \u0398\u03af\u03b1\u03c3\u03bf\u03c2 - \u0398. \u0391\u03b3\u03b3\u03b5\u03bb\u03cc\u03c0\u03bf\u03c5\u03bb\u03bf\u03c5","start"&#58;"2013-11-18 18&#58;00&#58;00","end"&#58;"2013-11-18 21&#58;00&#58;00","allDay"&#58;"0","url"&#58;"http&#58;\/\/el.wikipedia.org\/wiki\/%CE%9F_%CE%98%CE%AF%CE%B1%CF%83%CE%BF%CF%82","hall_id"&#58;"1","hall"&#58;"\u0391\u03bd\u03b4\u03c1\u03cc\u03b3\u03b5\u03c9","color"&#58;"#74d73f","textColor"&#58;"#000","desc"&#58;"\u03a4\u03b1\u03b9\u03bd\u03af\u03b1 \u03c4\u03bf\u03c5 1975 . \u0395\u03bd\u03c4\u03ac\u03c3\u03c3\u03b5\u03c4\u03b1\u03b9 \u03c3\u03c4\u03b7\u03bd \u00ab\u03c4\u03c1\u03b9\u03bb\u03bf\u03b3\u03af\u03b1 \u03c4\u03b7\u03c2 \u0399\u03c3\u03c4\u03bf\u03c1\u03af\u03b1\u03c2\u00bb.
\u0391\u03c0\u03bf\u03c4\u03b5\u03bb\u03b5\u03af \u03c4\u03bf \u03b4\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf \u03bc\u03ad\u03c1\u03bf\u03c2 \u03c4\u03b7\u03c2 \u03c0\u03bf\u03c5 \u03ad\u03c0\u03b5\u03c4\u03b1\u03b9 \u03c4\u03b7\u03c2 \u03c4\u03b1\u03b9\u03bd\u03af\u03b1\u03c2 \"\u039c\u03ad\u03c1\u03b5\u03c2 \u03c4\u03bf\u03c5 '36 \" \u03ba\u03b1\u03b9 \u03c0\u03c1\u03bf\u03b7\u03b3\u03b5\u03af\u03c4\u03b1\u03b9 \u03c4\u03c9\u03bd \u00a8\u039a\u03c5\u03bd\u03b7\u03b3\u03ce\u03bd.","detail"&#58;"","img"&#58;"events\/images\/thn\/thiasos_100.jpg"&#125;,&#123;"ID"&#58;"2","title"&#58;"\u0388\u03ba\u03b8\u03b5\u03c3\u03b7 \u0392\u03b9\u03b2\u03bb\u03af\u03bf\u03c5","start"&#58;"2013-11-22 16&#58;00&#58;00","end"&#58;"2013-11-28 19&#58;00&#58;00","allDay"&#58;"1","url"&#58;"http&#58;\/\/www.in.gr","hall_id"&#58;"2","hall"&#58;"\u0392\u03b1\u03c3\u03b9\u03bb\u03b9\u03ba\u03ae","color"&#58;"#48d5df","textColor"&#58;"#000","desc"&#58;"\u0391\u03b3\u03c1\u03bf\u03c4\u03b9\u03ba\u03ad\u03c2 \u0395\u03ba\u03b4\u03cc\u03c3\u03b5\u03b9\u03c2","detail"&#58;"","img"&#58;"events\/images\/thn\/book_exb_100.jpg"&#125;&#93;
Η τιμή στο πεδίο allDay είναι 0 η 1 (Bolean). Την είχα πρώτα Varchar και έπαιρνε true/false. Το θέμα είναι ότι τα βάζει σε " " μέσα και ΔΕΝ το καταλαβαίνει το script να κατεβάσει τα δεδομένα στις ώρες μέσα σε week or day view. Υπάρχει κανένας τρόπος να τα μετατρέψω; τα δεδομένα μπορεί να είναι έτσι

Κώδικας: Επιλογή όλων

&#123;
					title&#58; 'Long Event',
					start&#58; new Date&#40;y, m, d-5&#41;,
					end&#58; new Date&#40;y, m, d-2&#41;
				&#125;,
				&#123;
					id &#58; 998,
					title  &#58; 'event333',
					start  &#58; '2013-11-17 12&#58;30&#58;00',
					end  &#58; '2013-11-17 14&#58;30&#58;00',
					allDay &#58; false // will make the time show
				&#125;,
				&#123;
					id &#58; 998,
					title &#58; 'Χάρης',
					color &#58; '#9fc257',
					start &#58; '2013-11-21 19&#58;00&#58;00',
					end &#58; '2013-11-21 21&#58;00&#58;00',
					allDay&#58;false
				&#125;,
Στα άλλα πεδία τα " " δεν το πειράζει....

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 22 Νοέμ 2013 14:55

To τελευταίο θέμα λύθηκε... άλλαξα το sql data και όλα οκ. Θα το κάνω και δυναμικό όσον αφορά το όνομα των πεδίων και το περιεχομενό τους...
Ο κώδικας...

Κώδικας: Επιλογή όλων

<?php
require &#40;'includes/config.php'&#41;;

$hall_id = $_GET&#91;'hall_id'&#93;;

	if &#40;$hall_ID=='0' || $hall_ID==''&#41;
	&#123; 
		$getEventsSQL = "SELECT * FROM evenement ORDER BY ID";
	&#125; 
	else
	&#123;
		$getEventsSQL = "SELECT * FROM evenement WHERE hall_id='$hall_id' ORDER BY ID";		
	&#125;

$result = mysql_query &#40;$getEventsSQL&#41;;

$events = array&#40;&#41;;

while&#40;$row = mysql_fetch_array&#40;$result&#41;&#41; 
&#123;
    $allDay = $row&#91;'allDay'&#93;;	
	
    $eventsArray&#91;'ID'&#93; =  $row&#91;'ID'&#93;;
    $eventsArray&#91;'title'&#93; = $row&#91;'title'&#93;;
   	$eventsArray&#91;'start'&#93; = $row&#91;'start'&#93;;
    $eventsArray&#91;'end'&#93; = $row&#91;'end'&#93;;
    $eventsArray&#91;'url'&#93; = $row&#91;'url'&#93;;
    $eventsArray&#91;'color'&#93; = $row&#91;'color'&#93;;
   	$eventsArray&#91;'textColor'&#93; = $row&#91;'textColor'&#93;;
	$eventsArray&#91;'img'&#93; = $row&#91;'img'&#93;;
    $eventsArray&#91;'detail'&#93; = $row&#91;'detail'&#93;;
   	$eventsArray&#91;'description'&#93; = $row&#91;'description'&#93;;
	
	if &#40;$allDay=='0'&#41;
	&#123; 
		$eventsArray&#91;'allDay'&#93; = false;
	&#125; 
	else
	&#123;
		$eventsArray&#91;'allDay'&#93; = true;
	&#125;
	
    $events&#91;&#93; = $eventsArray;
&#125;
echo json_encode&#40;$events&#41;;
?>

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 31 Μαρ 2014 14:24

Παρακαλώ - διαγράψτε το
Τελευταία επεξεργασία από το μέλος Intefix την 31 Μαρ 2014 14:39, έχει επεξεργασθεί 1 φορά συνολικά.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 31 Μαρ 2014 14:25

Παρακαλώ - διαγράψτε το
Τελευταία επεξεργασία από το μέλος Intefix την 31 Μαρ 2014 14:39, έχει επεξεργασθεί 1 φορά συνολικά.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 31 Μαρ 2014 14:26

Συνεχίζοντας πάνω στο ίδιο θέμα...
Έχω ξαναγυρίσει στη σελίδα που αφορά καταχώρηση εκδήλωσης...
Εικόνα
Συναντώ προβλήματα και δεν ξέρω πως να τα προσεγγύσω και να τα λύσω...
Έχω 2 πίνακες για τη καταχώρηση της εκδήλωσης τελικά. O ref_event για καταχώρηση της εκδήλωσης

Κώδικας: Επιλογή όλων

CREATE TABLE IF NOT EXISTS `ref_event` &#40;
  `event_id` int&#40;11&#41; NOT NULL auto_increment COMMENT 'Κωδικός',
  `title` varchar&#40;255&#41; NOT NULL COMMENT 'Τίτλος',
  `event_type_id` int&#40;11&#41; NOT NULL COMMENT 'Είδος Εκδήλωσης',
  `creator` varchar&#40;100&#41; NOT NULL COMMENT 'Δημιουργός',
  `credits` varchar&#40;255&#41; NOT NULL COMMENT 'Συμμετέχουν',
  `date_from` date NOT NULL COMMENT 'Από',
  `date_to` date NOT NULL COMMENT 'Έως',
  `allDay` tinyint&#40;1&#41; NOT NULL COMMENT 'Ολοήμερη',
  `repeat_ev` tinyint&#40;1&#41; NOT NULL COMMENT 'Επανάληψη',
  `fileupload` varchar&#40;255&#41; NOT NULL COMMENT 'Αρχείο',
  `content` longtext NOT NULL COMMENT 'Περιγραφή',
  `username` varchar&#40;100&#41; NOT NULL,
  `modify` timestamp NOT NULL default '0000-00-00 00&#58;00&#58;00' on update CURRENT_TIMESTAMP,
  PRIMARY KEY  &#40;`event_id`&#41;,
  KEY `event_type_id` &#40;`event_type_id`&#41;
&#41; ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Εκδηλώσεις' AUTO_INCREMENT=1 ;
και ο ref_event_times για καταχώρηση των "χρόνων" της εκδήλωσης

Κώδικας: Επιλογή όλων

CREATE TABLE IF NOT EXISTS `ref_event_times` &#40;
  `event_time_id` int&#40;11&#41; NOT NULL auto_increment COMMENT 'Κωδικός',
  `event_id` int&#40;11&#41; NOT NULL COMMENT 'Εκδήλωση',
  `event_date` date NOT NULL COMMENT 'Ημερομηνία',
  `allDay` tinyint&#40;1&#41; NOT NULL COMMENT 'Ολοήμερη',
  `event_start` time NOT NULL COMMENT 'Έναρξη',
  `event_nd` time NOT NULL COMMENT 'Λήξη',
  PRIMARY KEY  &#40;`event_time_id`&#41;
&#41; ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Έχω και μια σελίδα-φόρμα με την οποία θα προσθέτω εκδηλώσεις. Μερικά πράματα είναι σύνθετα και υπάρχουν αρκετοί τρόποι προσέγγισης.
Έχουμε το εξής σενάριο: Μια έκθεση βιβλίου από τις 1/4/2014 έως 30/4/2014 ανοιχτή κάθε
μέρα από 09:00-13:00 και 16:00-21:00 Δευτέρα-Παρασκευή, Σάββατο 10:30-14:30, Κυριακή Κλειστά.
Έχω προσθέσει στη φόρμα inputs από έως για ημερομηνία και ώρα και checkboxes allday, repeat, ΔΤΤΠΠΣΚ τις ημέρες της βδομάδας...
Υποθέτω ότι ΔΕΝ μπορεί να γίνει με τη μία η καταχώρηση...
Πως προτείνετε να είναι η loop στην INSERT php query?
Τελευταία επεξεργασία από το μέλος Intefix την 31 Μαρ 2014 14:40, έχει επεξεργασθεί 1 φορά συνολικά.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Events Calendar MySQL

Δημοσίευση από Intefix » 31 Μαρ 2014 14:28

Παρακαλώ - διαγράψτε το

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες