begin process at 2012 02 05 02:22:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > CONNEXION BASE DE DONNÉES ACCESS EN PHP VIA ODBC ET EXPLOITATION DE REQUÊTE, RÉCUPÉRER UNE IMAGE DANS UNE BASE DE DONNÉES

CONNEXION BASE DE DONNÉES ACCESS EN PHP VIA ODBC ET EXPLOITATION DE REQUÊTE, RÉCUPÉRER UNE IMAGE DANS UNE BASE DE DONNÉES


 Information sur la source

Note :
7,75 / 10 - par 4 personnes
7,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Niveau :Débutant Date de création :16/06/2005 Date de mise à jour :17/06/2005 09:55:41 Vu :28 970

Auteur : flor003

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de se connecter à une base de données sous Access en php grâce au lien ODBC.
Il permet aussi d'exécuter une requête qui récupére les données dans les champs d'une table et l'affiche dans la
page php ainsi que l'affichage du nom de la table.
La récupération et l'affichage des images est aussi montré et expliqué.

Il faut créer un identifiant DSN pour la table:
Pour cela allez dans : Panneau de config -> (Outils admin pour xp)source de données ODBC -> source de donnée système
ajouter -> pilote Microsoft Access ...(mdb) -> mettre le nom de votre identifiant DSN (dans source de données) puis
sélectionner votre base de données.


Source

  • <html>
  • <head>
  • <title>Title here!</title>
  • </head>
  • <body>
  • <?php
  • //connexion à une base de données ACCESS
  • $bd="votre_base_de_données"; // identifiant DSN
  • $user="root"; // login
  • $password=""; // password
  • $cnx = odbc_connect( $bd , $user, $password );
  • if($cnx){
  • $tablelist = odbc_tables($cnx);
  • while (odbc_fetch_row($tablelist)) //tant que c'est pas la fin de la table
  • {
  • if (odbc_result($tablelist, 3) == "TABLE") // Si indicateur TABLE
  • echo odbc_result($tablelist, 3); // Affiche nom de la TABLE
  • }
  • $valeur= odbc_exec( $cnx, "select champ1,champ2,champphoto3 from TABLE" ); //requête
  • while(odbc_fetch_row($valeur)) //tant que c'est pas la fin de la table
  • {
  • echo odbc_result( $valeur, 1 );//ici on affiche la valeur du champ1
  • echo '<br/><br/>';
  • $image = odbc_result($valeur, 3 );//dans votre table mettez le chemin de l'image et son extention dans le champphoto3
  • //on va ainsi stocker dans la variable $image pour l'afficher en dessous
  • echo "<img src=$image width=150 height=150>";
  • echo odbc_result( $valeur, 2 );
  • }
  • }
  • else{
  • echo "Impossible de se connecter à la base de données";
  • }
  • odbc_close( $cnx); // ferme la connexion
  • ?>
  • </body>
  • </html>
 <html>
<head>
       <title>Title here!</title>
</head>
<body>
 <?php
 //connexion à une base de données ACCESS
$bd="votre_base_de_données"; // identifiant DSN
$user="root"; // login
$password=""; // password
$cnx = odbc_connect( $bd , $user, $password );
if($cnx){ 

$tablelist = odbc_tables($cnx);
while (odbc_fetch_row($tablelist)) //tant que c'est pas la fin de la table
{
	if (odbc_result($tablelist, 3) == "TABLE") // Si indicateur TABLE
		echo odbc_result($tablelist, 3); // Affiche nom de la TABLE
}


$valeur= odbc_exec( $cnx, "select champ1,champ2,champphoto3 from TABLE" ); //requête
while(odbc_fetch_row($valeur)) //tant que c'est pas la fin de la table
{
   echo odbc_result( $valeur, 1 );//ici on affiche la valeur du champ1
   echo '<br/><br/>';
   $image = odbc_result($valeur, 3 );//dans votre table mettez le chemin de l'image et son extention dans le champphoto3
   //on va ainsi stocker dans la variable $image pour l'afficher en dessous
   echo "<img src=$image width=150 height=150>";
   echo odbc_result( $valeur, 2 );
   }

}
else{
echo "Impossible de se connecter à  la base de données";
}
odbc_close( $cnx); // ferme la connexion
?>
</body>
</html>



 Historique

17 juin 2005 09:55:41 :
modification du <? en <?php mise aux normes de la balise <br> changement de la structure du code qui n'était pas très logique. En tout cas merci à ANTHOMICRO et GARFIELD90 pour leur précieuse aide.

 Sources de la même categorie

Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier
Source avec Zip CLASS MYSQL 5/PHP5 AVEC GESTION DES EXCEPTION ET DES REQUÊTE... par devil_may_cry
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ... par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj

Commentaires et avis

Commentaire de Anthomicro le 16/06/2005 23:08:53

Salut,

<? est à remplacer par <?php pour des raisons de portabilité, pour le odbc_close() tu peux surement le mettre juste après la requête (en passant par des fetch_row comme tu l'as fait)

Je te mets 7/10 parce que c'est un exemple simple et qui j'espère sera mis à jour pour les quelques petites erreurs ci-dessus.

a ++

Commentaire de garfield90 le 17/06/2005 08:53:34

Salut,

Tu verifies que ta connexion est faite, si elle n'y est pas tu affiches un message d'erreur, mais le script continue, ce qui n'est pas logique

tu aurais du faire

if ( $cnx){
    //traitement a faire sur la base
}else{
   echo 'impossible de se connecter à la base';
}

Ce qui evites de passer dans les boucles while .

Mets ton script aux normes.
<br> => <br />
...

A part ca, code propre et correctement commenté.

7/10



Commentaire de Isengard le 17/06/2005 11:59:55

Oui ou alors si tu souhaite que la page soit directement stoppé si la connection à la base marche pas tu met un :
$cnx = odbc_connect( $bd , $user, $password ) or die("La Connection a échoué");

Personellement je prefere faire comme ça, ça évite de laisser trainer un if sur toute la longueur de la page et d'avoir tous les else à la fin du code :)

Commentaire de GRenard le 17/06/2005 20:10:00

Perso, je n'aime pas faire die... c'est mieux de gérer l'erreur soit même plutôt que de faire "planter" la page avec un die... Il manquerait un @ devant le connect pour pas afficher l'erreur par défaut.

Commentaire de Isengard le 19/06/2005 10:00:16

Généralement une fois la connection échouée la page plante sur les requetes donc bon ca dépend ce que tu souhaite :)

Commentaire de nimpor le 27/01/2006 14:23:32

je n'ai rien a dire sur le code qui a l'air tres bien et que je testerai, mais sur les commentaire précédent qui préconise de remplacer le <br> par <br /> pour etre soit disant au norme... <br /> correspond au xhtml et le code ci dessus N'A PAS DE DOCTYPE alors qu'est ce qui vous dis que <br /> serai au norme (vu qu'il n'y en a pas) et si vous voulez du xhtml alors il faud egalement fermer les balise image ! merci de ne pas dire n'importequoi sur les commentaire quand n s'y connai pas ! quand il n'y a pas de doctype (ce qui n'est pas bien!) <br> est aussi valide que <br />...

Commentaire de Anthomicro le 29/01/2006 15:34:16

Quand y'a pas de doctype tout est invalide donc y'a pas un modèle qu'est aussi valide que l'autre ^^

Sinon je pense qu'ils ont raison en ce qui concerne les commentaires, ils vont pas lui refaire tout le code xhtml (on est sur un site de php) mais il est bon de souligner les quelques erreurs vues. Ensuite si il a a envie de laisser ça crade comme c'est c'est son problème, il aura une note en conséquence :-)

a +

Commentaire de fnikicha le 29/05/2007 16:57:02

merci bcp pour ce code vraiment c'était trés utile pour moi,merci beaucouuuuuuuuuup,ca marche trés bien

Commentaire de bombergame le 08/10/2009 22:21:51 10/10

Vraiment super cool !! et très bien expliqué

Je te mets 10/10

Merci beaucoup

Commentaire de hmy130470 le 13/04/2011 16:00:09

Merci 1000 fois, c vraiment très intéressant

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,872 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales