Avatar billede party.dk Nybegynder
27. december 2000 - 17:13 Der er 42 kommentarer og
1 løsning

Access database

Hejsa, jeg har en access database, ved navn adresse, som indeholder tabelen adresse.
Tabellen indeholder kolonner der hedder:
id dato navn adresse postnr.

Mit spr. er følgende, Hvordan kan jeg i php lave en sql forespørgelse: select * from adresse where navn =\'party.dk\' ?????????

Avatar billede lp Nybegynder
27. december 2000 - 17:24 #1
select * from adresse where navn like \'party.dk\'

??
Avatar billede party.dk Nybegynder
27. december 2000 - 17:31 #2
ja, jeg mangler lidt kode eks. på hvordan man kommer i kontakt med en access database !!!
Avatar billede lp Nybegynder
27. december 2000 - 17:36 #3
nåhhhh, det skrev du ikke noget om.......
Avatar billede party.dk Nybegynder
27. december 2000 - 17:39 #4
hvad skal der til på server siden, skal der oprettes / installeres noget spicelt for at få det til at virke.
eller er det nok, at ens fil ligger på serveren ??
Avatar billede lp Nybegynder
27. december 2000 - 17:39 #5
Her er lidt fra PHP.net\'s FAQ:

Can I access Microsoft Access databases?

Yes. You already have all the tools you need if you are running entirely under Windows 95/98 or NT, where you can use ODBC and Microsoft\'s ODBC drivers for Microsoft Access databases.
If you are running PHP on a Unix box and want to talk to MS-Access on a Windows box you will need Unix ODBC drivers. OpenLink Software has Unix-based ODBC drivers that can do this. There is a free pilot program where you can download an evaluation copy that doesn\'t expire and prices start at $675 for the commercial supported version.

Another alternative is to use an SQL server that has Windows ODBC drivers and use that to store the data, which you can then access from Microsoft Access (using ODBC) and PHP (using the built-in drivers), or to use an intermediary file format that Access and PHP both understand, such as flat-files or dBase databases. On this point Tim Hayes from OpenLink software writes:

Using another database as an intermediary is not a good idea, when you can use ODBC from PHP straight to your database - i.e. with OpenLink\'s drivers. If you do need to use an intermediary file format, OpenLink have now released Virtuoso (a virtual database engine) for NT, Linux and other unix platforms. Please visit our website for a free download.
One option that has proven successful is to use MySQL and its MyODBC drivers on Windows and synchronizing the databases. Steve Lawrence writes:

Install MySQL on your platform according to instructions with MySQL. Latest available from www.mysql.org (get it from your mirror!). No special configuration required except when you set up a database, and configure the user account, you should put % in the host field, or the host name of the Windows computer you wish to access MySQL with. Make a note of your server name, username, and password.

Download the MyODBC for Windows driver from the MySQL site. Latest release is myodbc-2_50_19-win95.zip (NT available too, as well as source code). Install it on your Windows machine. You can test the operation with the utilities included with this program.

Create a user or system dsn in your ODBC administrator, located in the control panel. Make up a dsn name, enter your hostname, user name, password, port, etc for you MySQL database configured in step 1.

Install Access with a full install, this makes sure you get the proper add-ins.. at the least you will need ODBC support and the linked table manager.

Now the fun part! Create a new access database. In the table window right click and select Link Tables, or under the file menu option, select Get External Data and then Link Tables. When the file browser box comes up, select files of type: ODBC. Select System dsn and the name of your dsn created in step 3. Select the table to link, press ok, and presto! you can now open the table and add/delete/edit data on your MySQL server! You can also build queries, import/export tables to MySQL, build forms and reports, etc.

Tips and Tricks: - You can construct your tables in access and export them to MySQL, then link them back in. That makes table creation quick.
- When creating tables in access, you must have a primary key defined in order to have write access to the table in access. Make sure you create a primary key in MySQL before linking in access.
- If you change a table in MySQL, you have to re-link it in access. Go to tools>add-ins>linked table manager, cruise to your ODBC DSN, and select the table to re-link from there. you can also move your dsn source around there, just hit the always prompt for new location checkbox before pressing ok.

Link til gutterne som har lavet connection til access ved installation på unix:
http://www.openlinksw.com/
Avatar billede party.dk Nybegynder
27. december 2000 - 17:41 #6
sorry lp, men jeg er helt \'grøn\' vedr. Access DB og PHP, normalt bruger jeg MySql.
Men kunne godt tænke mig at lære det med Access...
Avatar billede lp Nybegynder
27. december 2000 - 17:42 #7
læs det der står og følg det.....kig evt. på www.php.net og brug deres udmærkede søgemaskine.....man lærer bedst ved at læse sådanne steder :-)
Avatar billede lp Nybegynder
27. december 2000 - 17:48 #8
hvilket OS kører maskinen på? Det er ret vigtigt i denne sammenhæng!
Avatar billede lp Nybegynder
27. december 2000 - 17:52 #9
hvis du kører på en win maskine kan du skrive:

odbc_connect(string dsn, string user, string password, int [cursor_type]);

hvis det er på en unix skal du benytte førnævnte OpenLink Software...

desuden skal du aktivere linjen:

extension=php3_odbc.dll i php3.ini

hvis det er på en windows maskine.....nu har du vist fået svar nok.......
Avatar billede party.dk Nybegynder
27. december 2000 - 17:52 #10
det er en win2000 server
Avatar billede party.dk Nybegynder
27. december 2000 - 17:54 #11
jeg smidder gerne flere points på, hvis du vil guide mig igennem ?
Avatar billede lp Nybegynder
27. december 2000 - 17:57 #12
ok.....find din php.ini fil og din den linje som hedder noget ala:
extension=php3_odbc.dll i php3.ini

hvis den ikke hedder php3_odbc........er det ligemeget.....fjern det ; der står forrest....

når det er gjort siger du til....jeg tjekker lidt op på connection imens....
Avatar billede party.dk Nybegynder
27. december 2000 - 18:00 #13
den hedder: extension=php_odbc.dll 
Avatar billede party.dk Nybegynder
27. december 2000 - 18:02 #14
Hvis du har ICQ, skal vi så ikke klare det over den ?
mit nummer er 45706865
Avatar billede lp Nybegynder
27. december 2000 - 18:04 #15
jeg må indrømme at det er lidt bøvlet og kan forstå rundt om at det ikke er særlig godt at bruge access til php - kan du ikke bruge mysql istedet?
Avatar billede jd Nybegynder
27. december 2000 - 18:05 #16
lp-> Access er ikke kun dårligt med PHP, men som helhed :)
Avatar billede lp Nybegynder
27. december 2000 - 18:08 #17
jd -> helt enig, men kan dog være meget godt til en intranet løsning med asp for 2 personer i el meget lille virksomhed, he he :-) jeg fraråder dog altid mine kunder at benytte denne skod database :-)
med php er der bare mange begrænsninger, kan jeg læse mig til.....
Avatar billede jd Nybegynder
27. december 2000 - 18:09 #18
begrænsninger? Dokumentation ?
Avatar billede party.dk Nybegynder
27. december 2000 - 18:10 #19
hvad skal der til, er det nok at min mdb fil ligger på servern ?? eller skal der installeres noget spicelt ??
Avatar billede lp Nybegynder
27. december 2000 - 18:11 #20
Avatar billede jd Nybegynder
27. december 2000 - 18:12 #21
party.dk-> Der skal - så vidt jeg ved - ikke installeres noget som helst! Du skal bare finde ud af at få connectet til denne db...

Mås man spørge hvorfor du vil skifte fra dejlige MysQL, til sucker Access ? :)
Avatar billede lp Nybegynder
27. december 2000 - 18:14 #22
den odbc_connect ting er jeg bare ikke helt klar over hvordan skal behandles.....du må forsøge dig frem.....
Avatar billede party.dk Nybegynder
27. december 2000 - 18:20 #23
det vil jeg heller ikke, men nu er det sådan, at der er en database, der er lavet i Access, derfor vil jeg bare \'snakke\' med den..... :)

jeg har fundet et stykke kode, men ved ikke hvad bruger, password der skal bruges??
jeg ved hvad mdb filen hedder, og hvad tabellen samt kollonerne hedder. Men her slutter det så.......

min <?
// Etabler forbindelse
// $conn er en integer der identificerer forbindelsen.
// Dvs. at du sagtens kan have flere forbindelser på en gang.

echo \"Access DATABASE Sucks :) men et forsøg skal det have......\";
$conn = odbc_connect( \"DataBaseNavn\" , \"Bruger\" , \"Password\" );

if ( $conn ) {
    // Udfør SQL
    $result = odbc_exec( $conn, \"SELECT * FROM table WHERE fornavn=$fornavn\");

    // Kør alle fundne rækker igennem startende med den første.
    // Kan også hente eksempelvis den 5\'te : odbc_fetch_row( $conn, 5 )
    while (odbc_fetch_row( $result ) {
        // resultatet for felt 1 i den funde række.
        print \"Fornavn : \".odbc_result( $result ,1);
        print \"Efternavn : \".odbc_result( $result ,2);
        print \"Tlf : \".odbc_result( $result ,3);

        // Hvis du bruger relationer, og bliver nød til at udføre en SQL ved
        // Hver gennemgang kan du frigøre resultatet efter brug med
        // odbc_free_result ($reasult2):
    }

    odbc_close ( $conn );
}
?>
Avatar billede lp Nybegynder
27. december 2000 - 18:23 #24
har du prøvet at lade dem være tomme?
Avatar billede party.dk Nybegynder
27. december 2000 - 18:29 #25
nej, der må være et logisk svar på hvad der skal til at connecte til en access database....
Avatar billede party.dk Nybegynder
27. december 2000 - 18:41 #26
det virker ikke uden bruger og password.
Warning: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in D:\\www\\party.dk\\main\\access.php on line 7

line 7 er:
$conn = odbc_connect( \"adresse\" , \"\" , \"\" );
Avatar billede lp Nybegynder
27. december 2000 - 18:44 #27
er adresse ikke dit feltnavn ? eller hedder databasen også adresse?
Avatar billede party.dk Nybegynder
27. december 2000 - 18:47 #28
som fortalt i starten:
jeg har en access database, ved navn adresse, som indeholder tabelen adresse.
Tabellen indeholder kolonner der hedder:
id dato navn adresse postnr osv.
Avatar billede lp Nybegynder
27. december 2000 - 18:51 #29
ok, he he, ligger datbasen i samme mappe?

jeg ved sq ikke hvad der er galt og kan ikke hjælpe dig - your on your own boy :-)
Avatar billede party.dk Nybegynder
27. december 2000 - 18:55 #30
ja, det ligger i samme mappe på serveren !!
hehe, nå så var det ikke så let som du troede....
men, jeg vil finde ud af det, håber at nogle kan hjælpe mig.........
Avatar billede lp Nybegynder
27. december 2000 - 18:57 #31
jeg har ALDRIG skrevet det var let........for jeg har aldrig prøvet access med PHP så jeg kunne ikke vide om det er let.....jeg mener dog at have givet dig nok til at du selv kan komme videre...du må jo prøve dig lidt frem, prøv evt. at putte et password på din base og bruge det? Altså man har vel lov at tænke lidt selv *G*...:-)
Avatar billede party.dk Nybegynder
27. december 2000 - 19:00 #32
ja selvstændigt tænkning gør ikke noget!
Tror du ikke man skal installere denne her:
http://odbc.linuxave.net/download.html
Avatar billede lp Nybegynder
27. december 2000 - 19:02 #33
det kunne være en mulighed, det er da ihvertfald til windows....
Avatar billede party.dk Nybegynder
27. december 2000 - 19:04 #34
lidt fra deres FRQ
Why should I use ODBC Socket Server?

As you can read on our about page, the goal of Team FXML is to provide tools that enable the developer to choose the best tools and platform for a task. If one of your project constraints is that you need to access data on a Windows database, ODBC Socket Server allows you to easily access this data at no additional cost no matter what platform you are doing.


lyder sku\' som om det er det rigtige.....
Avatar billede jd Nybegynder
27. december 2000 - 21:28 #35
ja... er det så det?
Avatar billede party.dk Nybegynder
27. december 2000 - 21:32 #36
jeg ved det ikke helt inu, men alle de steder jeg har kunne finde noget om der, ja så lyder det som om det er det!!!
http://www.eksperten.dk/spm/26991
http://x41.deja.com/[ST_rn=ps]/getdoc.xp?AN=612258196&CONTEXT=956039518.656539650&hitnum=33
to rigtige gode svar på mit spg. håber det er det....
Avatar billede party.dk Nybegynder
27. december 2000 - 21:34 #37
Avatar billede mortenfn Nybegynder
28. december 2000 - 00:37 #38
der skal jo oprettes
Avatar billede mortenfn Nybegynder
28. december 2000 - 00:40 #39
der skal jo oprettes ODBC-datakilde

PHP.ini skal rettse.

og så virker det her

<?php
$db = odbc_connect(PHPtest,\"\",\"\");

$cur=odbc_exec($db,\"select * from tabel\");
while(odbc_fetch_row($cur)){
$id=odbc_result($cur,1);
$pass=odbc_result($cur,2);
$pass1=odbc_result($cur,3);
$pass2=odbc_result($cur,4);
$pass3=odbc_result($cur,5);
$pass4=odbc_result($cur,6);
$pass5=odbc_result($cur,7);
echo \"<small>$id $pass1 $pass2 $pass3 $pass4 $pass5<br></small>\";
}
odbc_close_all()
?>
Avatar billede party.dk Nybegynder
28. december 2000 - 00:44 #40
hvordan oprettes ODBC-datakilde ?
Avatar billede party.dk Nybegynder
28. december 2000 - 00:46 #41
det virker, men ikke dnslees.
dvs. at min udbyder opretter en ODBC.

kan det ikke laves sådan, at jeg selv kan uploade mine mdb filer, og at de så bare virker ???
Avatar billede party.dk Nybegynder
28. december 2000 - 01:02 #42
det jeg mener er om der findes en komando, som i ASP (dnslees connection) ?????
Avatar billede party.dk Nybegynder
03. januar 2001 - 22:41 #43
lukker dette spg. uden svar!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester