Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Pb de requete SQL

Pb de requete SQL il y a 9 ans 7 mois #20644

  • erick
  • Portrait de erick
Bonjour à tous.

Toujours en train de bosser sur mon module de gestion de la formation pro (qui avance bien), je me heurte aujourd'hui à un problème de requete SQL.

Si la requete trouve une correspondance, tout va bien, mais si il n'y en a pas, patatra...

La requete est la suivante :
SELECT a.fk_agefodd_session FROM llx_agefodd_session_adminsitu as a WHERE a.archive LIKE 0 AND a.datef > '0000-00-00 00:00:00' AND a.indice = ( SELECT MAX( l.indice ) FROM llx_agefodd_session_admlevel as l WHERE l.top_level LIKE 'Y' )

Sous Dolibarr, j'obtiens l'erreur suivante :
Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic:
Dolibarr: 2.7.0
Date: 20100409163633
Niveau de fonctionnalités: 0
Server: Apache/2.2.8 (Linux/SUSE)
Referer: http://127.0.0.1/~erick/dolibarr/agefodd/s_adm.php?id=5
Url sollicitée: /~erick/dolibarr/agefodd/index.php?mainmenu=agefodd&leftmenu=&idmenu=6
Gestionnaire de menu: eldy_backoffice.php/eldy_backoffice.php

Type gestionnaire de base de donnée: mysqli
Requete dernier acces en base en erreur: Aucune requete en erreur
Code retour dernier acces en base en erreur: Aucune requete en erreur
Information sur le dernier accès en base en erreur: Aucune requete en erreur
Sous PhpMyadmin la même requete fonctionne parfaitementet et ne renvoit aucune erreur...

Je pense que la requête imbriqué ne passe pas sous Dolibar quand aucune valeure ne correspond...
Mais je ne maitrise pas assez les arcanes de Dolibarr pour jouer avec ça...

Merci d'avance pour vos précieux conseils et bon week-end.
L'administrateur a désactivé l'accès en écriture pour le public.

Re: Pb de requete SQL il y a 9 ans 7 mois #20655

  • regis
  • Portrait de regis
  • Hors ligne
  • Administrateur
  • Messages : 2073
  • Remerciements reçus 103
  • Karma: 140
il me faudrait le détail des tables pour comprendre et tester
L'administrateur a désactivé l'accès en écriture pour le public.

Re: Pb de requete SQL il y a 9 ans 6 mois #20695

  • erick
  • Portrait de erick
Veuillez trouver en PJ le fichier SQL des tables concernées.

Merci d'avance

Fichier attaché :

Nom du fichier : agefodd.txt
Taille du ficher : 6115
Dernière édition: il y a 9 ans 6 mois par erick.
L'administrateur a désactivé l'accès en écriture pour le public.

Re: Pb de requete SQL il y a 9 ans 6 mois #20709

  • regis
  • Portrait de regis
  • Hors ligne
  • Administrateur
  • Messages : 2073
  • Remerciements reçus 103
  • Karma: 140
je voulais tester mais il y a des soucis avec ton export, certain champs avec apostrophes non pas de slashe
Préparation de l''action
L'administrateur a désactivé l'accès en écriture pour le public.

Re: Pb de requete SQL il y a 9 ans 6 mois #20722

  • erick
  • Portrait de erick
OK, voici une version "nettoyée"

Bonne journée.


La pièce jointe agefodd_sql.txt est absente ou indisponible

L'administrateur a désactivé l'accès en écriture pour le public.

Re: Pb de requete SQL il y a 9 ans 6 mois #20730

  • regis
  • Portrait de regis
  • Hors ligne
  • Administrateur
  • Messages : 2073
  • Remerciements reçus 103
  • Karma: 140
j'ai testé la requête et je n'ai pas d'erreur avec ou sans correspondance, peut être que ca vient du traitement du résultat ?
voici ta requête:
$sql = "SELECT a.fk_agefodd_session";
$sql.= " FROM ".MAIN_DB_PREFIX."agefodd_session_adminsitu as a";
$sql.= " WHERE a.archive LIKE 0";
$sql.= " AND a.datef > '0000-00-00 00:00:00'";
$sql.= " AND a.indice = (";
$sql.= "SELECT MAX( l.indice )";
$sql.= " FROM ".MAIN_DB_PREFIX."agefodd_session_admlevel as l";
$sql.= " WHERE l.top_level LIKE 'Y' )";

tu devrais utiliser la valeur "NULL" en base pour les dates non renseignée, se sera plus simple pour tes requêtes que "0000-00-00 00:00:00"
L'administrateur a désactivé l'accès en écriture pour le public.

Re: Pb de requete SQL il y a 9 ans 6 mois #20770

  • erick
  • Portrait de erick
Peut-être. Mais je traite pourtant le résultat exactement comme les autres...
Je vais creuser un tout ça plus tard.
Pour l'instant, je l'ajoute au bugtrack ;-)

Merci de l'aide.
L'administrateur a désactivé l'accès en écriture pour le public.