Bonjour à tous.
J’ai créée un chat privé en PHP/MySQL/Javascript pour un site (ça c’est bon ça fonctionne ), seulement en voulant l’uploader sur mon hébergeur (1and1) j’ai vu la phrase suivante :
Génial…
Ne voulant pas me faire bannir de mon hébergement, j’ai alors cherché une nouvelle manière de gérer ma base de données pour sauvegarder les conversations :
- Je suis premièrement tombé sur le SimpleXML.
J’ai compris le fonctionnement, mais j’ai par contre un problème avec l’encodage des caractères.
Tout au début de mon XML j’ai :
<?xml version="1.0" encoding="ISO-8859-1"?>
Au début de ma page PHP j’ai :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
Malgré tout à chaque fois que je veux ajouter du contenu à mon XML, pour ne pas avoir de problèmes avec les accents, je dois ajouter les lignes suivantes :
$chaine = 'chapitre';
$chaine = utf8_encode($chaine);
Et pour la lecture du XML les lignes suivantes :
$chaine = $chapitre->titre;
$chaine = utf8_decode($chaine);
Avec ça, ça marche, mais vu comment ça n’est pas pratique, je me dis qu’il doit quand même y avoir un problème! :whistle:
Quelqu’un a une solution?
- Ce matin j’ai découvert SQLite.
Ca a l’air d’être une alternative intéressante, surtout que mon code MySQL est déjà fait et que ça y ressemble pas mal, mais j’ai lu que certaines fonctions MySQL n’étaient pas prises en compte par SQLite.
Voici les requêtes MySQL que j’utilise :
mysql_query("SELECT ami_from, ami_to, ami_date, ami_lastpost, membre_pseudo, membre_avatar, online_id, conv_texte, conv_date, conv_pseudo, conv_id
FROM forum_amis
LEFT JOIN forum_membres ON membre_id = ami_from
LEFT JOIN forum_whosonline ON online_id = ami_from
LEFT JOIN chat_prive ON chat_prive.conv_id = forum_amis.ami_lastpost
WHERE ami_to = '".$_SESSION['id']."' AND ami_confirm = '1'
ORDER BY ami_date, online_id DESC");
mysql_query("SELECT * FROM chat_prive WHERE conv_from = $am_from && conv_to = $am_to || conv_from = $am_to && conv_to = $am_from ORDER BY conv_id DESC LIMIT 0,50");
mysql_query("INSERT INTO chat_prive VALUES('', '$am_from', '$am_to', '$conv_texte', '".$temps."', '$conv_pseudo')");
$derniermess = mysql_insert_id();
mysql_query("UPDATE forum_amis SET ami_lastpost = '".$derniermess."' WHERE ami_from = '".$am_from."' && ami_to = '".$am_to."' || ami_to = '".$am_from."' && ami_from = '".$am_to."' ");
Je voudrais savoir si je ne risque pas d’avoir des problèmes pour le passage du MySQL au SQLite, et lequel, entre SimpleXML et SQLite, serait plus adapté à mes besoins (chat, donc il risque d’y avoir beaucoup de texte) ?
Merci pour vos réponses.