Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

variables MySql

34 réponses
Avatar
docanski
Bonjour toutes/tous,

Retiré depuis un bon bout de temps du code destiné au Web, suis obligé
de créer un "chat", avec stockage des messages dans une BdD, Free
refusant ceci dans un fichier tete. Pour ce faire, j'ai récupéré dans
mes archives une série de scripts/pages plus ou moins correctes (enfin,
je pense ...) et envoyé le tout sur site. Ça "marche", c'est déjà un bon
point. Néanmoins, j'ai quelques petites problèmes, le 1er étant
essentiellement la profondeur du stockage et son affichage dans la
fenêtre du chat : cet affichage se limite aux 2/3 de la fenêtre et les
messages les plus anciens disparaissent au fur et à mesure de l'arrivée
des suivants. Or, dans la BdD (qui ne comporte qu'une table, celle qui
stocke les messages), j'ai une profondeur de stockage bien plus
importante. Mais elle ne s'affiche pas et je ne vois pas pourquoi.
Dans les variables de cette table, j'ai ceci, lors de leur création :
<code>
`pseudo` VARCHAR(30) NOT NULL,
`message` VARCHAR(255) NOT NULL,
`date` VARCHAR(30) NOT NULL,
`formatage` VARCHAR(10) NOT NULL,
`temp` INT(30) NOT NULL,
</code>
Pour les 4 premiers, pas de problème, j'en comprends l'intérêt et la
présence.
C'est pour le 5ème que je m'interroge et je ne trouve aucune information
sur le web, du moins en français. Serait-ce celle à modifier ?

La requête vers la BdD destinée à l'affichage comporte le code suivant :

<code>
$ide= MYSQL_CONNECT($host_mysql,$user_mysql,$pass_mysql);
mysql_select_db("$bd_mysql");
$tm=microtime();$tm2=explode(" ",$tm);$tm3=$tm2[1];
$query = "DELETE FROM $table WHERE (temp+7777)<$tm3";
mysql_query($query,$ide);
$query = "SELECT * FROM $table ORDER BY id DESC";
$result = mysql_query($query,$ide);
$cpt=0;
while($row = mysql_fetch_row($result))
{
$cpt++;
$coul=substr($row[4],0,1);
$tail=substr($row[4],1,1);
$appa=substr($row[4],2,1);
$msg=$row[2];
if ($appa==1){$msg.=$row2;}
if ($appa==2){$msg2="<B>";$msg2.=$msg;$msg2.="</B>";$msg=$msg2;}
if ($appa==3){$msg2="<I>";$msg2.=$msg;$msg2.="</I>";$msg=$msg2;}
if ($appa==4){$msg2="<U>";$msg2.=$msg;$msg2.="</U>";$msg=$msg2;}
if ($appa==5){$msg2="<STRIKE>";$msg2.=$msg;$msg2.="</STRIKE>";$msg=$msg2;}
if ($coul==1){$msg2='<FONT
COLOR="#000000">';$msg2.=$msg;$msg2.="</FONT>";$msg=$msg2;}
if (snip la suite des couleurs) ...
echo"- <u>$row[1]</u> <font color=\"999999\">[$row[3]]</font> : $msg<br>";
if ($cpt==20) {break;}
}
MYSQL_CLOSE();
?>
</code>

Celle structurant le message est la suivante :

<code>
<?
$ide= MYSQL_CONNECT($host_mysql,$user_mysql,$pass_mysql);
mysql_select_db("$bd_mysql");
$query = "SELECT * FROM $table";
$result = mysql_query($query,$ide);
$taille = "1";
$datime = date("H:i");
$message2 = htmlentities($txt);
$message3 = nl2br($message2);
$formatage=$couleur;
$formatage.=$taille;
$formatage.=$attrib;
$tmp=microtime();$tmp2=explode(" ",$tmp);$tmp3=$tmp2[1];
if ($txt != "" and $pseudo != "")
{
$query = "INSERT INTO $table VALUES
('0','$pseudo','$message3','$datime','$formatage','$tmp3')";
$result = mysql_query($query,$ide);
}
MYSQL_CLOSE();
?>
</code>

Quelqu'un peut me dépanner sur ce coup ?

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/

4 réponses

1 2 3 4
Avatar
docanski
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 17/05/2013 14:31 :

Ne serait-ce pas 'ORDER BY ... 'ASC' au lieu de 'DESC' ?



Bonjour Olivier,

C'était bien ASC.
Merci !

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Avatar
docanski
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, docanski ecrit ce qui suit en ce 19/05/2013 18:28 :

C'était bien ASC.



Mouais ... après essais du remplissage de la fenêtre, c'est un autre
problème qui survient : les messages qui "dépassent" le conteneur
s'affichent "sous" celui-ci car l'ascenseur (overflow) ne suit pas
automatiquement, il reste sur sa position.
Résultat : il faut remonter manuellement les messages qui suivent, au
fur et à mesure de la conversation. :-(
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Avatar
Olivier Miakinen
Le 19/05/2013 19:47, docanski a écrit :

Mouais ... après essais du remplissage de la fenêtre, c'est un autre
problème qui survient : les messages qui "dépassent" le conteneur
s'affichent "sous" celui-ci car l'ascenseur (overflow) ne suit pas
automatiquement, il reste sur sa position.
Résultat : il faut remonter manuellement les messages qui suivent, au
fur et à mesure de la conversation. :-(



Mais là, ce n'est plus du PHP, et encore moins du SQL. Je te suggère
fciw.auteurs, à moins que la solution ne nécessite fcl.javascript !
Avatar
Pierre Goiffon
Le 17/05/2013 11:22, Olivier Miakinen a écrit :
Le 17/05/2013 10:20, docanski a écrit :

[...]
Comme je bidouille directement sur site, j'avais envoyé ce fichier
modifié puis actualisé l'affichage "pour voir". Et malgré cette
actualisation, aucun changement ... :-(
[...]
Cela soulève une question : logiquement, l'écrasement d'un fichier sur
site doit tout de même être automatiquement suivi d'effet quand on
actualise la page, non !?



Tout dépend du type d'« actualisation ». Selon les paramètres de cache
que tu as (ou non) configurés sur le serveur, et selon ta commande de
rafraîchissement, la page qui se réaffiche peut être celle en cache dans
ton navigateur, celle en cache sur l'un des éventuels proxys traversés,
ou celle du serveur.



En général, maj + clic sur icone rafraichir permet de ne pas utiliser le
cache. Sinon, on peut toujours utiliser la fonctionnalité de navigation
privée du navigateur.

Pour faire en sorte que la page ne soit pas générée avec du cache... Pas
forcément compliqué mais il faut comprendre ce que l'on fait !
Je vous recommande lecture de ce document, pour moi la meilleure
référence sur le sujet :
http://www.mnot.net/cache_docs/
(attention le contenu est servit dans la locale demandée par le
navigateur, et j'avais déjà vu des erreurs dans la version française)
1 2 3 4