Problème SQL.
Résolu
WebLooser
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
Autumn`Tears Messages postés 1054 Date d'inscription Statut Membre Dernière intervention -
Autumn`Tears Messages postés 1054 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un système de rafraichissement automatique d'une div. Il rafraichit une requête SQL qui sélectionne les 17 derniers messages.
Le problème c'est qu'au lieu de m'afficher les messages ils marque : Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
En revanche si je remet la requête dans ma div et bien cela fonctionne très bien. Où est le problème ?
refresh.js :
Ma div:
Ma requête SQL :
Merci de votre aide.
J'ai créé un système de rafraichissement automatique d'une div. Il rafraichit une requête SQL qui sélectionne les 17 derniers messages.
Le problème c'est qu'au lieu de m'afficher les messages ils marque : Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
En revanche si je remet la requête dans ma div et bien cela fonctionne très bien. Où est le problème ?
refresh.js :
function writediv(texte, endroit) { document.getElementById(endroit).innerHTML = texte; } function afficher() { if(texte = file('recup.php')) // Ton fichier à inclure dans la <div> { writediv('<p align="left">'+texte+'</p>', 'tchat'); // chat = <div id='chat'>, c'est l'emplacement où tu veux placer ta page } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); } setInterval('afficher()', 1000); // nombre de milisecondes entre deux rafraichissements : ici 1 seconde
Ma div:
<div id="tchat"></div>
Ma requête SQL :
<?php $sql = "SELECT * FROM messages ORDER BY id DESC LIMIT 17"; //On récupère les 15 derniers messages dans la table Messages de la DataBase. $req = mysql_query($sql) or die(mysql_error()); $d = array(); while($data = mysql_fetch_assoc($req)){ $d[] = $data; } for($i = count($d)-1;$i>=0;$i--) { ?> <p><strong>[<?php echo $d[$i]["date"]; ?>]<?php echo htmlspecialchars($d[$i]["pseudo"]); ?></strong> : <?php echo htmlspecialchars($d[$i]["message"]); ?></p> <?php } ?>
Merci de votre aide.
A voir également:
- Problème SQL.
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
- Sql query download - Télécharger - Gestion de données
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
3 réponses
Salut,
Est-ce que dans recup.php tu mets bien la connexion à ta base ? (Je te déconseille d'utiliser mysql au passage et de te tourner vers mysqli, ou pdo, mysql devenant obsolète).
Pour ton formatage en HTML tu peux faire plus simple :
while($data = mysql_fetch_assoc($req))
{
echo '<p><strong>['.$data['date'].'] '.htmlspecialchars($data['pseudo']).' : '.htmlspecialchars($data['message']).'</p>';
}
?>
Est-ce que dans recup.php tu mets bien la connexion à ta base ? (Je te déconseille d'utiliser mysql au passage et de te tourner vers mysqli, ou pdo, mysql devenant obsolète).
Pour ton formatage en HTML tu peux faire plus simple :
while($data = mysql_fetch_assoc($req))
{
echo '<p><strong>['.$data['date'].'] '.htmlspecialchars($data['pseudo']).' : '.htmlspecialchars($data['message']).'</p>';
}
?>
Oui car dans tchat.php j'ai mit:
require('connect.php')
De ce qui est pour faire plus "simple": C'est vrai mais je préfère ma version car je m'y retrouve mieux ^^
require('connect.php')
De ce qui est pour faire plus "simple": C'est vrai mais je préfère ma version car je m'y retrouve mieux ^^