Probleme sqlite

Fermé
balkis3005 Messages postés 9 Date d'inscription dimanche 13 mars 2022 Statut Membre Dernière intervention 1 avril 2022 - Modifié le 14 mars 2022 à 19:29
jee pee Messages postés 40503 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 30 novembre 2024 - 13 mars 2022 à 13:32
Bonjour,

Je suis un débutant en programmation, surtout sur les bases de données. Je me suis tourné vers sqlite pour faire un programme. Celui-ci doit me fournier un tableau aléatoire contenant des repas (peuplée au préalable par l'utilisateur) pour plusieurs jours. J'ai fait tout un programme pour insérer les donnes dans une table, et il marche.

Malheureusement la partie de récupération de données aléatoire me pose problème...


Quelqu'un aurait une idée ?

3 réponses

balkis3005 Messages postés 9 Date d'inscription dimanche 13 mars 2022 Statut Membre Dernière intervention 1 avril 2022
Modifié le 14 mars 2022 à 19:28
J'ai oublié de montrer le résultat que j'obtiens avec ce programme (après insertion d'un repas, les pâtes) :
0
jee pee Messages postés 40503 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 30 novembre 2024 9 437
Modifié le 13 mars 2022 à 13:34
Bonjour,

Tu utilises quel langage ? nb_insert n'est pas défini dans ce bout de code, que contient-il ?

Tu as plusieurs problèmes de logique. Tu demandes le nb de jours et tu le multiplies par 2, exemple 2 jours X 2 repas = 4, mais ce 4 ce sont des repas et tu exécutes 4 cycles où tu vas chercher midi ET soir donc au total 8, tu ne devrais pas multiplier par 2. Ton random_id peut être valorisé à zéro, mais logiquement dans une table là le 1er id est à 1, donc on ne trouvera pas l'id aléatoire zéro. Après sur ton id aléatoire tu rajoutes une condition midi ou soir, si l'id affecté ne correspond pas au champ 'temps' le select ne ramènera rien.

Et dans ce code on ne voit pas de gestion des erreurs sur la bdd, y en a-t-il ? car cela te donnerait les anomalies ou erreurs.

PS : Donne nous le code pas des images. Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature (html, Php, C, Python, Shell, ...).
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

0
jee pee Messages postés 40503 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 30 novembre 2024 9 437
13 mars 2022 à 13:32
Je viens de voir qu'il existe une fonction de sélection aléatoire dans sqlite : http://www.yvoz.net/2011/10/sql-selection-aleatoire-bdd/#SQLite
SELECT COLUMN FROM TABLE ORDER BY Random() LIMIT 1

donc pour toi
SELECT repas FROM labouffe WHERE temps = 'soir' ORDER BY Random() LIMIT 1


0