Fork me on GitHub

Rapport de message :*
 

Fullcalendar - essai de création d'un module

Titre du sujet : Fullcalendar - essai de création d'un module
par alainpe sur 23/12/2014 15:12:31

Bonjour,

Je tente de créer un nouveau module sur la base de Fullcalendar.

Actuellement je le fait fonctionner hors environnement xoops.

L'extraction des données de la base mysql se fait avec PDO.
Comme ça :
try {

    
$bdd = new PDO($url$username$password);

    
$requete "SELECT id, title, start, end, allday";
    
$requete.= " FROM agenda";
    
$requete.= " ORDER BY id";
    
$result $bdd->prepare($requete);
    
$result->execute();

    echo 
json_encode($result-> fetchALL(PDO :: FETCH_ASSOC)); // !!!!!!!!!!!!!!!

    
exit();

} catch (
PDOException $e){
    echo 
$e->getMessage();
}


donc c'est pas du tout Xoopssien tout ça !

Maintenant, j'ai donc ça dans mon module :

<?php
include "header.php";

$myts =& MyTextSanitizer::getInstance(); // MyTextSanitizer object
include_once XOOPS_ROOT_PATH."/class/xoopstree.php";
$mytree = new XoopsTree($xoopsDB->prefix("agenda"),"id","title","start","end""allday");

include 
XOOPS_ROOT_PATH."/header.php";


$sql "SELECT id, title, start, end, allday";
$sql.= " FROM ".$xoopsDB->prefix("agenda");
$sql.= " ORDER BY id";


$result=$xoopsDB->query($sql) or exit("Erreur");

$events = array();


$year date('Y'); 
$month date('m');

$i 0;
while (
$evenement $xoopsDB->fetchArray($result))
{

    
$id $evenement["id"];
    
$title $evenement["title"];
    
$start $evenement ["start"];
    
$end $evenement ["end"]; 
    
$allday $evenement ["allday"];
 
    
$e = array(
        
'id' => $id,
        
'title' => $title,            
        
'start' => $start,//["Jour"],//$start,
        
'end' => $end,//["Jour"],
        
'allDay' => $allday
    
);
    
$events[$i] = $e;
    
    
$i++;   
         
}
echo (
json_encode($events)); // !!!!!!!!!!!!!!!!

include XOOPS_ROOT_PATH.'/footer.php';
?>


La différence est entre
echo (json_encode($events));

et
echo json_encode($result-> fetchALL(PDO :: FETCH_ASSOC));


LE PROBLEME c'est que ne pas passer par PDO et donc ne pas utiliser
fetchALL(PDO :: FETCH_ASSOC)

semble ne pas convenir pour l'affichage des données par fullcalendar.

Un problème de format je crois.
$xoopsDB->fetchArray
ne semble pas équivalent !

Mon idée (pas sûr que ce soit bien dans l'environnement Xoops mais je veux au moins le voir fonctionner un peu pour l'instant ! ) est de tester le code qui fonctionne dans mon module (avec PDO donc) mais je dois utiliser
$bdd = new PDO($url$username$password);
pour me connecter !!

Il y a-t-il des variables Xoops à mettre à la place de $url, $username et $password ???

J'ai essayé $xoopsDB pour $url et ça n'a pas l'air de fonctionner.


Merci !
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

43 Personne(s) en ligne (35 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 43 | Plus ...