DJsmileyus Posté 21 Novembre 2007 Posté 21 Novembre 2007 Bonjour à tous ! Je souhaiterais faire une requête MySQL assez bizarre mais je ne connais pas la méthode : - La première est de sélectionner un enregistrement sur deux. Donc n'afficher que les enregistrement 1, 3, 5, 7, ... - La seconde est de sélectionner uniquement le premier et le dernier enregistrement. A noter qu'il n'y a pas d'ID ou d'AUTO INCREMENT dans la table de données en question. J'ai déjà demandé de l'aide sur un autre salon mais personne n'avait la solution ... j'espère que quelqu'un pourra m'aider ici. Merci d'avance.
iNCiTE Web Posté 21 Novembre 2007 Posté 21 Novembre 2007 Comment sont classés les enregistrements ? c'est la valeur d'un champ qui dit si la ligne est paire ou impaire ? Car si tu n'as rien de cela, tu n'auras jamais les mêmes résultats, et tout sera chamboulé si tu ajoutes des enregistrements... Sinon il suffit dans une boucle de ne sélectionner qu'une ligne sur deux, à ma connaissance on ne peut pas le faire directement en SQL. Pour le premier, avec un LIMIT 1 mais pour ça il faut pouvoir les trier sur un champ donné. Pour le dernier, même chose mais avec un ORDER BY champ DESC et même remarque que précédemment. C'est quoi comme données ?
DJsmileyus Posté 21 Novembre 2007 Auteur Posté 21 Novembre 2007 Salut et merci d'avoir répondu. Pour faire simpliste, on peut prendre comme exemple une table à deux entrées : "text" ; "timestamp". L'idéal serait d'ordonner la table par le timestamp, et donc de sélectionner un élement sur deux. Est-ce possible ? Merci d'avance.
iNCiTE Web Posté 21 Novembre 2007 Posté 21 Novembre 2007 $sql = "SELECT champ FROM table ORDER BY champ_timestamp";$id_sql = mysql_query(^sql);$i=0;while ( $row = mysql_fetch_array($id_sql) ) {$i++;if ( $i == 0 ) $premier = $row["champ"];if ( $i == mysql_numrows($id_sql) ) $dernier = $row["champ"];if ( $i%2 == 0 ) $aListe[] = $row["champ"]} $aListe est le tableau qui contient les enregistrements pairs. En sachant que si tu rajoutes un enregistrement au milieu, ça décale tout !
DJsmileyus Posté 22 Novembre 2007 Auteur Posté 22 Novembre 2007 Ca fonctionne parfaitement ! Merci bien pour ton aide.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant