PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-06-2011 09:32:17

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

afficher tous les enregistrements sauf le dernier

bonjour à tous,

j'aimerai pouvoir afficher tous les enregistrements de ma base (peu nombreux) sauf le dernier

sachant que je les affiche inversé (DESC)

est-ce qq chose du type n-1 pourrait marcher? mais je n'ai pas la syntaxe

$query = "SELECT * FROM base ORDER BY nom DESC LIMIT 0,???";

merci du coup de main

hz

Hors ligne

#2 09-06-2011 10:30:06

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : afficher tous les enregistrements sauf le dernier

NOT IN(MAX(etc)...............

si tu n'en a pas assez, fais le savoir wink


a++

Hors ligne

#3 09-06-2011 10:53:35

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : afficher tous les enregistrements sauf le dernier

merci Pierrot!

oui je veux bien un peu plus de détail wink

$query = "SELECT * FROM base ORDER BY nom DESC NOT IN(MAX ..........?????!!! ";

!

Hors ligne

#4 09-06-2011 11:03:15

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : afficher tous les enregistrements sauf le dernier


$query = "SELECT * FROM base WHERE nomduchamp NOT IN(select MAX(nomduchamp) FROM base ) order by  nom DESC";
 

a++

Hors ligne

#5 09-06-2011 11:29:39

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : afficher tous les enregistrements sauf le dernier

j'ai cette réponse en erreur:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/7/d195834202/htdocs/catalog/x-list_release.php on line 18

voici le code en entier:

<?php


$db = mysql_connect("$host", "$login", "$pass");
mysql_select_db("$base",$db);


$query = "SELECT * FROM base WHERE id NOT IN(select MAX(id) FROM base) order by nom DESC";
$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {


echo


$row[nom]


;

}


mysql_close($db);

?>


merci de ton aide!

hz

Hors ligne

#6 09-06-2011 11:38:20

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : afficher tous les enregistrements sauf le dernier


SELECT * FROM lignes_budgetaires WHERE id NOT IN(select MAX(id) FROM lignes_budgetaires) order by libelle DESC;
 

j'ai testé sur une de mes tables et ça marche wink
maintenant, je vois pas ou est ton problèmes wink

a++

Hors ligne

#7 09-06-2011 11:47:11

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : afficher tous les enregistrements sauf le dernier

un petit

après le mysql_query devrait lever un coin du voile.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 09-06-2011 13:02:10

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : afficher tous les enregistrements sauf le dernier

oups... je m'en sors pas il me retourne une erreur de syntaxe !!
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select MAX(id) FROM base) order by nom DESC' at line 1

voici le code sans modif:

<?php


$db = mysql_connect("$host", "$login", "$pass");
mysql_select_db("$base",$db);


$query = "SELECT * FROM base WHERE id NOT IN(select MAX(id) FROM base) order by nom DESC";

$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_array($result)) {

echo $nom;

}


mysql_close($db);

?>

jeux des 7 erreurs?????:o

Hors ligne

#9 09-06-2011 13:11:34

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : afficher tous les enregistrements sauf le dernier

En fait, la sous-requête select MAX(id) FROM base, ne retournera qu'une seule ligne d'une colonne, éventuellement NULL si la table est vide, donc NOT IN ça me fait bizarre.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 09-06-2011 13:12:46

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : afficher tous les enregistrements sauf le dernier

D'un autre côté "base" est un mot réservé de SQL donc il vaudrait mieux nommer la table autrement.

Autant pour moi ce n'est pas base mais database.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums