vero Posté 18 Septembre 2004 Posté 18 Septembre 2004 bonjour dans ma base les enregistrements sont publier dans l'ordre $sql .= "ORDER BY date1 DESC "; or je voudrai que le premier enregistrement soir la date du jour en cours et les suivants les jours suivants et que l'on ne voit pas les enregistrements qui ont une date depassée qu'en pensez vous pour une debutante complet... cordialement
Anonymus Posté 18 Septembre 2004 Posté 18 Septembre 2004 En fait, cela dépend de beaucoup de choses, notamment de la facon dont est définie ton champ date1, et aussi du reste de la requète. Pourrais tu nous en dire plus à ce sujet ? merci.
vero Posté 18 Septembre 2004 Auteur Posté 18 Septembre 2004 Voila un extrait du script ******************************************************************* if ($connecte && $rub == 'voir') { $nbpp = 5; // Nombre de messages par page if (!isset($deb)) $deb = 0; $sql = "SELECT DATE_FORMAT(date, \"%d-%m %H:%i\") as jour, nom, email, commentaire, texte, date1, nomclub, lien, ville, adresse, titre "; $sql .= "FROM soiree "; $sql .= "ORDER BY date1 ASC, code DESC "; $sql .= "LIMIT ".$deb.",".$nbpp; $resultat2 = mysql_db_query($cfgBase, $sql); $nb_enr = mysql_num_rows($resultat2); DebutTableau("#FFFFFF", "1", "0", "100%"); DebutTableau("#354785", "15", "0", "100%"); ******************************************************************** pour le champs date1 c'est un champs "varchar" mais qui est toujours saisi sous la forme: 10/09/2004 voila j'attend vos propositions
Anonymus Posté 19 Septembre 2004 Posté 19 Septembre 2004 Bonjour, pour la condition if : if ($connecte && $rub == 'voir') { Si $connecte est FALSE et $rub=='voir' est FALSE alors la condition s'applique : if (FALSE && FALSE) => if (TRUE). Il t'aurait fallut travailler avec des dates en 'timestamp'. C'est la meilleure facon de ne pas se tromper dans les dates même si ca parait un peu plus ardu au début. Donc, pour éviter ce genre d'aventures : $array=array("10/09/2004","10/09/2003","09/09/2004","10/10/2004","31/12/2004","01/01/2005");sort($array);foreach($array as $k => $v) echo "<br>".$k."-".$v; il faut recomposer les dates. Pour cela, on va rester dans mysql. Ca donnera une requète comme ceci : select date_format(concat(SUBSTRING(date1,7,4),SUBSTRING(date1,4,2),SUBSTRING(date1,1,2)),"%Y%m%d") as good_datefrom tableorder by good_date que tu peux composer/décomposer à loisirs.
vero Posté 19 Septembre 2004 Auteur Posté 19 Septembre 2004 merci pour ta reponse mais elle depasse de loin mes competences ou dois je mettre les codes que tu donnes...
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 bonjour, vous m'avez abandonnee....avec mon probleme à l'aide veronique
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 Au lieu de : $sql = "SELECT DATE_FORMAT(date, \"%d-%m %H:%i\") as jour, nom, email, commentaire, texte, date1, nomclub, lien, ville, adresse, titre ";$sql .= "FROM soiree ";$sql .= "ORDER BY date1 ASC, code DESC ";$sql .= "LIMIT ".$deb.",".$nbpp; Tu mets : $sql = "SELECT date_format(concat(SUBSTRING(date1,7,4),SUBSTRING(date1,4,2),SUBSTRING(date1,1,2)),"%Y%m%d") as temp_jour, nom, email, commentaire, texte, date1, nomclub, lien, ville, adresse, titre ";$sql .= "FROM soiree ";$sql .= "ORDER BY temp_jour desc, code DESC ";$sql .= "LIMIT ".$deb.",".$nbpp; Et tu nous dis si ca marche Anonymus.
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 bonsoir, helas ca ne marche pas voila le message d'erreur Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING merci
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 On recommence $sql = "SELECT date_format(concat(SUBSTRING(date1,7,4),SUBSTRING(date1,4,2),SUBSTRING(date1,1,2)),'%Y%m%d') as temp_jour, nom, email, commentaire, texte, date1, nomclub, lien, ville, adresse, titre ";$sql .= "FROM soiree ";$sql .= "ORDER BY temp_jour desc, code DESC ";$sql .= "LIMIT ".$deb.",".$nbpp;
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 toujours en erreur cette fois Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource Ca affiche la base est vide en ce moment donc elle trouve pas les enregistrements merci
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 Alors tu enleves les lignes, et tu essaies juste ceci : $sql = "SELECT date_format(concat(SUBSTRING(date1,7,4),SUBSTRING(date1,4,2),SUBSTRING(date1,1,2)),'%Y%m%d') as temp_jour, nom, email, commentaire, texte, date1, nomclub, lien, ville, adresse, titre ";$sql .= "FROM soiree ";// $sql .= "ORDER BY temp_jour desc, code DESC ";// $sql .= "LIMIT ".$deb.",".$nbpp;
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 meme message d'erreur Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource merci
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 Tu peux me donner le résultat de ceci ? $sql="SELECT date, date1 FROM soiree";
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 j'ai remplacer tout le paragraphe par ta ligne et le resultat est Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 En fait, il faut remplacer la ligne par $result = mysql_query("SELECT date, date1 FROM soiree"); while ($row = mysql_fetch_array($result))echo"<br>-".$row['date']."--".$row['date1']."-; et là tu donnes le résultat qui sort à l'écran. C'est pour savoir quel est le format de sortie des champs date et date1.
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 message suivant Parse error: parse error, unexpected T_STRING, expecting ',' or ';'
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 recommence avec : $result = mysql_query("SELECT date, date1 FROM soiree"); while ($row = mysql_fetch_array($result))echo"<br>-".$row['date']."--".$row['date1']."-";
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 message erreur Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 2 fois sur 2 numeros de ligne different
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 Es tu sure que la connection sql est bonne ? C'est en local, ou sur un serveur ?
vero Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 c'est sur serveur et quand je recharge l'ancien code tout fonctionne normalement sans le bon tri bien entendu peut on en discuter sur le chat ....
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 J'y suis... $sql="select date_format(concat(SUBSTRING(date1,7,4),SUBSTRING(date1,4,2),SUBSTRING(date1,1,2)),'%Y%m%d') as good_date,date,nom from soiree order by good_date";
vero Posté 22 Septembre 2004 Auteur Posté 22 Septembre 2004 je suis toujours bloquée ... si quelqu un a une idee elle sera le bienvenue... merci
Anonymus Posté 23 Septembre 2004 Posté 23 Septembre 2004 Bon... J'ai essayé, et le script marche chez moi. Pour le faire marcher, j'ai mis : if ( !($connecte = mysql_connect('localhost', 'root', '')) ) et $cfgBase='mabase'. Sinon, j'ai bien réussi à insérer des données, et à les afficher. Donc : Jettes un oeil sur les variables que tu affiches dans la fonction mysql_connect, peut etre une erreur à ce niveau. Jettes un oeil à la variable $cfgBase, qui doit être le nom de ta base de données, et non de la table Jettes un oeil aux tables présentes dans ta base, il y a peut etre une erreur d'orthographe dans celles ci. Anonymus.
vero Posté 23 Septembre 2004 Auteur Posté 23 Septembre 2004 bonsoir si les parametres de connexions etaient faux la base ne fonctionnerait pas avec une autre sorte de tri or aujourd hui elle est en ligne at elle fonctionne. fais moi signe si tu es la ce soir
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant