Bonjour,
Je suis actuellement en BTS IG par apprentissage, et je suis en train de developper une sorte d'agenda en ligne en pHp.
Mon appli fonctionne. Afin de la rendre plus interactive j'ai modifié mon code et je suis passé à l'Ajax avec la librairie jQuery.
Mon problème est le suivant :
J'ai un script (affichage.js) qui, lorsque l'on clique sur un des jours du calendrier, affiche la liste des rendez-vous de la journée. Sachant que par défaut à l'ouverture c'est le jours en cours qui s'ouvre.
J'ai un autre script (remove.js) qui, lorsque l'on clique sur la petite corbeille supprime le rendez-vous et rafraichit la div.
Les deux scripts ont l'air fonctionnel, en effet, si je clique sur la corbeille lorsque je viens d'ouvrir l'agenda, le rendez-vous est bien supprimé.
Par contre si je change de jours avec le script affichage.js et que je clique sur la corbeille, le script ne fonctionne plus, il me dirige vers la page php appelée en ajax sans supprimer quoi que ce soit.
Est-ce que les données retournées par la methode $.post de jQuery change les informations ?
Vous pouvez accéder à l'application en ligne à cette adresse : (je vais volontairement creer beaucoup de rendez vous aujourd'hui afin de permettre à ceux qui le voudront de tester donc il a des rendez vous le 19, le 20, le 21, et 26)
http://info-33.fr/~bellonjeanphilippe/agendav2/
Voici les scripts JS :
Affichage.js
remove.js
En ce qui concerne le php :
affichage.php
aff_rdv.php
remove.php
Merci d'avance à ceux qui se pencheront sur mon problème... Cela fait 2 jours que je bloque sur cette partie sans savoir pourquoi ça ne marche pas.
Modifié par Jipi's (19 Jul 2010 - 11:02)
Je suis actuellement en BTS IG par apprentissage, et je suis en train de developper une sorte d'agenda en ligne en pHp.
Mon appli fonctionne. Afin de la rendre plus interactive j'ai modifié mon code et je suis passé à l'Ajax avec la librairie jQuery.
Mon problème est le suivant :
J'ai un script (affichage.js) qui, lorsque l'on clique sur un des jours du calendrier, affiche la liste des rendez-vous de la journée. Sachant que par défaut à l'ouverture c'est le jours en cours qui s'ouvre.
J'ai un autre script (remove.js) qui, lorsque l'on clique sur la petite corbeille supprime le rendez-vous et rafraichit la div.
Les deux scripts ont l'air fonctionnel, en effet, si je clique sur la corbeille lorsque je viens d'ouvrir l'agenda, le rendez-vous est bien supprimé.
Par contre si je change de jours avec le script affichage.js et que je clique sur la corbeille, le script ne fonctionne plus, il me dirige vers la page php appelée en ajax sans supprimer quoi que ce soit.
Est-ce que les données retournées par la methode $.post de jQuery change les informations ?
Vous pouvez accéder à l'application en ligne à cette adresse : (je vais volontairement creer beaucoup de rendez vous aujourd'hui afin de permettre à ceux qui le voudront de tester donc il a des rendez vous le 19, le 20, le 21, et 26)
http://info-33.fr/~bellonjeanphilippe/agendav2/
Voici les scripts JS :
Affichage.js
$(function() {
$("#calendrier > ul > li > a").click(function(){
var day = $(this).text();
var monthyear = $("#calendrier > h2").attr("title");
var path = $(this).attr("href");
$.post(path, { day: day, monthyear: monthyear }, function(data) {
$("#affichage").empty().html(data);
});
$("#calendrier > ul > li").removeAttr("id")
$(this).parent("li").attr("id","shown");
return false;
});
});
remove.js
$(function() {
$("#affichage > ul > li > .remove").click(function(){
var id = $(this).attr("alt");
var path = $(this).attr("href");
$.post(path, { idrdv: id }, function(data) {
var day = $("#shown > a").text();
var monthyear = $("#calendrier > h2").attr("title");
$.post('affichage.php', { day: day, monthyear: monthyear }, function(data) {
$("#affichage").empty().html(data);
});
});
return false;
});
});
En ce qui concerne le php :
affichage.php
include('function/calendrier.php');
include('function/aff_rdv.php');
$jour_fr = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
$date = mktime (0, 0, 0, $mois, $jour, $annee);
$num_jour = date("w", $date);
$nom_jour = $jour_fr[$num_jour];
echo '<h2>'.$nom_jour.' '.$jour.' '.NumEnMot($mois).'</h2>';
if($num > 0) {
echo '<ul id="rendezvous">';
while($data=mysql_fetch_array($res))
{
echo '<li>';
echo '<h3><img src="img/puce-rdv.png" alt="rdv"/>'.substr($data['heure'], 0, -3).'</h3><a href="edit.php" alt="'.$data['idrdv'].'" class="edit">+</a> <a href="remove.php" alt="'.$data['idrdv'].'" class="remove">-</a></p>';
echo '<p>Chez : '.$data['nomclient'].' '.$data['prenomclient'].'<br/>'.$data['adresse1client'].'<br/>';
if(!empty($data['adresse2client'])){echo $data['adresse2client'].'<br/>';}
echo $data['codepostal'].' '.$data['ville'].'<br/>'.$data['tel1client'].'</p>';
echo '<p>Motif de l\'intervention : '.$data['motif'].'</p>';
echo '</li>';
}
echo '</ul>';
}
else {
echo "<p class='ras'>Aucun rendez-vous</p>";
}
aff_rdv.php
include('database.php');
if(!isset($_POST['day']) && !isset($_POST['monthyear'])) {
$jour = $day;
$mois = getMois($today);
$annee = getAnnee($today);
}
else {
$jour = $_POST['day'];
$mois = getMois($_POST['monthyear']);
$annee = getAnnee($_POST['monthyear']);
}
$sql = 'SELECT * FROM rendezvous,client,ville WHERE date = "'.$annee.'-'.$mois.'-'.$jour.'"
AND rendezvous.client = client.codeclient
AND client.codeville = ville.codeville
ORDER BY heure ASC';
$res = mysql_query($sql) or die('Erreur de requete dans'.$sql);
$num = mysql_num_rows($res);
remove.php
include('function/database.php');
$sql = "DELETE FROM rendezvous WHERE idrdv='".$_POST['idrdv']."'";
$res = mysql_query($sql);
Merci d'avance à ceux qui se pencheront sur mon problème... Cela fait 2 jours que je bloque sur cette partie sans savoir pourquoi ça ne marche pas.
Modifié par Jipi's (19 Jul 2010 - 11:02)