rafou77
Messages postés65Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 7 février 2007
-
11 nov. 2006 à 14:16
rafou77
Messages postés65Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 7 février 2007
-
15 nov. 2006 à 13:28
Bonjour,
Voilà j'ai un soucis avec un champ sous Mysql 5.
Code:
<?php
{
$limit_str = "LIMIT ". $cur_page * 9 .",9"; $rec mysql_query("select clients2.id,clients2.nom,clients2.prenom,clients2.email,clients2.password,clients2.etat3,clients5.id,clients5.id_clt,clients5.but_pret,clients5.etat2,clients5.message,clients5.date from clients5,clients2 where clients2.id clients5.id_clt GROUP BY clients5.id_clt ORDER BY clients5.date DESC $limit_str");
if (mysql_num_rows($rec)==0)
{
echo("<tr bgcolor="#ffffff"><td colspan="5">Fin de la recherche !</td></tr>");
Sous mysql 4 cela marche parfaitement mais par sur mysql 5, j'ai remarqué que le probleme venait du champ clients5.message car quand j'enleve celui ci le resultat s'affiche mais evidement pas le texte qui se trouve dans le textarea.
rafou77
Messages postés65Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 7 février 2007 12 nov. 2006 à 14:20
Salut jeca merci pour ta réponse, j'ai déjà essayé ce que tu m'as conseillé mais toujours le meme probleme.
Entre temps j'ai trouvé voici là solution:
<?php{
$limit_str = "LIMIT ". $cur_page * 9 .",9"; $rec mysql_query("select * from clients2,clients5 where clients2.id clients5.id_clt GROUP BY clients5.id_clt ORDER BY clients5.date DESC $limit_str");
if (mysql_num_rows($rec)==0)
{
echo("<tr bgcolor="#ffffff"><td colspan="5">Fin de la recherche !</td></tr>");
Au lieu de faire appel à des champ spécifique, je les appel tous dans ma requete par une étoile(en rouge), ne me demandé pas pourquoi mais je n'ai trouvé que cette soluce pour que ça passe sous mysql 5, la premiere soluce est bonne aussi mais pas sous mysql 5.
cs_jeca
Messages postés341Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention14 juillet 201114 12 nov. 2006 à 11:38
Bonjour,
As-tu essayé ça :
$limit_str = 'LIMIT ' . $cur_page * 9 . ', 9';
$sql = 'select clients2.id, clients2.nom, clients2.prenom, clients2.email, clients2.password,
clients2.etat3, clients5.id,clients5.id_clt, clients5.but_pret, clients5.etat2,
clients5.message, clients5.date
from clients5, clients2
where clients2.id = clients5.id_clt
GROUP BY clients5.id_clt
ORDER BY clients5.date DESC ' .
$limit_str;
echo $sql;
$rec = mysql_query($sql) or die(mysql_error());
Tu prends la requête générée et tu la colles dans phpmyadmin ou autre ; tu verras bien s'il te sort quelquechose.
Et ceci : 'die(mysql_error())' t'afficheras des infos s'il y a une erreur.
Ensuite, lorsque la page est chargée dans le navigateur, demande l'affichage de la source.
Outre cela :
- encadrer les chaînes de caractères par des double-quotes est nuisible, car cela force le parseur à analyser la totalité de la chaîne afin de trouver les éventuelles variables. Les simples quotes plus une concaténation sont préférables car plus rapides à l'éxécution ;
- ceci 'onClick="javascript:..."' ne sert à rien car onclick est un évènement javascript, donc 'onClick="..."' suffit ;
- l'imbrication des accolades de ton code est pour le moins bizarroïde.
rafou77
Messages postés65Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention 7 février 2007 15 nov. 2006 à 13:28
Ce n'est pas ça.. et j'espere que tu ne parles pas seulement de moi car tu es dans le meme cas avec ta solution, soit...
Ma premiere soluce était bonne aussi, il n'y avait pas de problemes dans mon script, le seule bémole c'est que mon serveur est passé en mysql 5x et qu'il n'accepte plus le genre
de requete et appel de champs avec tables liés sous la forme de table.champ pour les formats texte, à mon avis c'est un bug, par contre en enregistrement au format UTF 8 résoud le probleme aussi. en réalité le seul champ qui posait probleme était "message" venant d'un textarea.