IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP & Access [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut PHP & Access
    Bonjour à tous chers forumeurs.

    Depuis bien longtemps à présent, j'ai pu trouver sur ce forum des infos pour mes différents projets grâce aux problèmes rencontrés par d'autres.

    Aujourd'hui, c'est à moi de venir poser mon problème.

    Je bosse actuellement sur une application PHP se connectant à une base de données Access.

    J'ai pu jusqu'a présent bricoler pour régler tous mes différents problemes, mais deux d'entre eux subsistent :

    - Lors de l'execution d'une requête SQL sur la base de données via les fonctions ODBC avec une syntaxe du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $res=odbc_exec($connection,$req);
    $test=odbc_result_all($res,"border=1 BGCOLOR='#AAFFAA'");
    J'ai à tous les coups l'une de mes lignes de résultat qui ne sera pas affichée dans le tableau généré par odbc_result_all. Ce qui me fausse en partie mes statistiques par la suite. Par exemple, une requête sensée me renvoyer 5 lignes de résultats n'en renverra que 4.

    - Les Entiers contenus dans ma BDD, lorsqu'ils sont affichés par odbc_result_all sont affichés de la sorte : 13.0
    Lorsque ce sont des réels avec des décimales, cela ne me dérange pas, cela m'arrange même, mais lorsqu'il s'agit d'un entier, voir s'afficher des tonnes de "XX.0" est assez lourd et brouille la compréhension de l'affichage.

    Saurez vous m'aider à résoudre mes problèmes ? Telle est la question.

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a peu de chances que ce odbc_result_all bug.
    Essai comme ça, je dirais que tu as la même nombre de lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $res=odbc_exec($connection,$req);
    while( $row = odbc_fetch_array( $res ) )
    {
      print_r($row); echo '<br/>';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Et pourtant il semblerai bien que ce soit odbc_result_all qui aie un souci.

    A l'aide de ta syntaxe, sur une requete devant me renvoyer 2 résultats, je reçois bien mes 2 résultats, alors que odbc_result_all ne m'en renvoie quant à lui qu'un seul

    Aurais-tu une syntaxe à proposer pour que je puisse afficher de nouveau un tableau comme avec odb_result_all mais avec ta manière de procéder ?

    Edit : Grâce à ton petit bout de code, j'ai bidouillé et j'ai finallement résolu mon problème. C'est moche, mais ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    echo '<table align=left border=1 BGCOLOR="#AAFFAA"><tr>';
    $z=0;
    	while(odbc_fetch_array($res))
    {
    	if ($z==0)
    	{
    	for ($y=1; $y <= odbc_num_fields($res); $y++) 
    	echo '<th>'.odbc_field_name($res,$y).'</th>';
    	}
    	echo '</tr>';
    	for ($y=1; $y <= odbc_num_fields($res); $y++)
    	{
    	$affich=odbc_result($res,$y);
    	$len=strlen($affich);
    	if ($affich[$len-1]=='0')
    	$affich[$len-1]="";
    	if (isset ($affich[$len-2]))
    		if ($affich[$len-2]=='.')
    		$affich[$len-2]="";
    	echo '<td>'.$affich.'</td>';
    	}
    	$z=1;
    }
    echo "</tr></table>';
    C'est vraiment du bricolage ... La condition avec le $z pour n'afficher qu'une seule fois le titre des collones, et la modification des deux derniers caractères affichés pour effacer ce ".0" sur mes entiers affichés sansa affecter les autres nombres avec des décimales.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ODBC] [Access] tableau en php /base access
    Par bidule123456 dans le forum PHP & Base de données
    Réponses: 35
    Dernier message: 06/07/2007, 09h53
  2. [ODBC] PHP et Access
    Par chaouch anouar dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/06/2007, 16h20
  3. [EDI] Recherche outil de dév PHP type Access (hors SGBD)
    Par lapupuce dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 14/04/2006, 10h11
  4. Livre d'or php + ms access
    Par lobiman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 17/02/2006, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo