Aller au contenu

ordonner une bdd


vero

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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_date
from table
order by good_date

que tu peux composer/décomposer à loisirs.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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;

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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;

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

recommence avec :

$result = mysql_query("SELECT date, date1 FROM soiree");

while ($row = mysql_fetch_array($result))echo"<br>-".$row['date']."--".$row['date1']."-";

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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";

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...