aamsa
Messages postés34Date d'inscriptionmercredi 16 janvier 2008StatutMembreDernière intervention10 juin 2010
-
28 févr. 2010 à 14:10
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
1 mars 2010 à 14:48
Bonjour a tous, j'ai codée une page php qui m'affiche les informations d'une base de données(Mysql),le code est le suivant:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'extracomm';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT nomsource,nomgroupe,date,message FROM journalextracomm';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo '';
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '----
nomsource,
nomgroupe,
date,
message,
';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_object($result)) {
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 28 févr. 2010 à 19:03
Indente ton code, il sera bien plus lisible ! C'était un problème d'accolades...
Pour débuguer les requête ajax et le javascript, j'utilisais FireFox + son extension FireBug.
Tu as bien sûr une console qui récupère les erreurs.
Tu peux faire du pas à pas dans le javascript, mettre des points d'arrêts...
Les requêtes ajax sont tracées : tu as les infos sur la requête et la réponse.
function go(){
var xhr = getXhr()
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function() {
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState 4 && xhr.status 200)
alert(xhr.responseText);
else
return false;
}
xhr.open("GET","Journal.php",true);
xhr.send(null);
}
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 28 févr. 2010 à 20:14
C'est pas du code PHP, c'est de l'HTML !
Le PHP est langage de programmation exécuté côté serveur.
Le HTML est un langage de présentation traité par le navigateur.
Utilise InnerHTML (Dans un div ajouté dans ton body par exemple) pour mettre en place ce bout de HTML dans ta page. Il sera traité par le navigateur et ça t'affichera ton tableau.
aamsa
Messages postés34Date d'inscriptionmercredi 16 janvier 2008StatutMembreDernière intervention10 juin 2010 28 févr. 2010 à 18:47
Merci pour votre aide, mais j'ai encore un pb avec ajax; j'ai crée un fichier(message.html)son code est le suivant:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>message</title>
<script type="text/JavaScript">
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
e = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(){
var xhr = getXhr()
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState 4 && xhr.status 200){
xhr.responseText;
else return (false);
}
aamsa
Messages postés34Date d'inscriptionmercredi 16 janvier 2008StatutMembreDernière intervention10 juin 2010 28 févr. 2010 à 19:40
lorsque j'exécute le script une message s'affiche contenant une mélange entre les donnes et le code php et pas l'affichage des des donnes seulement.
cordialement
aamsa
aamsa
Messages postés34Date d'inscriptionmercredi 16 janvier 2008StatutMembreDernière intervention10 juin 2010 28 févr. 2010 à 20:42
Oui comme vous avez dis, j'ai ajoutée un div et çamarche,mais lorsque je clic sur le lien les donnees s'affichent et le lien aussi s'affiche dans la page.
aamsa
Messages postés34Date d'inscriptionmercredi 16 janvier 2008StatutMembreDernière intervention10 juin 2010 1 mars 2010 à 10:55
comment on peut mettre un lien hypertex (disable)
en javascript, j'ai utilise cette méthode:
document.getElementById('idmsg').style.display="none";
mais le lien reste afficher dans la table.
cordialement
aamsa
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 1 mars 2010 à 11:00
Je comprends pas. Tu n'as plus besoin du lien vu que tu as le rafraichissement automatique. Il suffit d'appeler directement la fonction go(). Donc plutôt que de ne pas l'afficher, tu peux l'enlever de ta page.
aamsa
Messages postés34Date d'inscriptionmercredi 16 janvier 2008StatutMembreDernière intervention10 juin 2010 1 mars 2010 à 13:09
Merci bcp ça marche bien, maintenant je veux que la date s'affiche selon chaque pays cèd(si j'envoie un msg à 8 du maroc le msg va s'afficher chez un autre utilisateure à 10 de la france par exemple)vous comprenez? est ce que vous avez des idées a propos ce sujet.
cordialement,
aamsa
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 1 mars 2010 à 14:48
Pour une nouvelle question, il faut créer une nouvelle discussion.
Concernant ton problème, il me semble qu'il faudrait que le PHP du serveur envoie l'heure UTC/GMT au client. Ensuite, le javascript du client n'a plus qu'à créer une date en partant de l'heure UTC et en lui ajoutant l'offset récupéré avec getTimeZoneOffset