TypeMedlem sedan mars 20021 340 inlägg
Hej alla :)
Jag försöker koppla en access-databas med hjälp av php.
Jag har försökt typ asmånga gånger...
drar med en kodsnutt här så får vi utveckla kring den sen :)
$odbcPekare = odbc_connect ( "myDSN", "", "" );
$odbcResult = odbc_exec ( $odbcPekare, "SELECT * FROM tbl" );
$i = 0;
while ( $curRow = odbc_fetch_array ( $odbcResult ) ) {
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow[ 'fld1' ] . "<br />";
echo "Fält 2: " . $curRow[ 'fld2' ] . "<br />";
}
odbc_close ( $odbcPekare );
Det verkar som att det inte funkar :x
Fatal error: Call to undefined function: odbc_fetch_array() in c:\inetpub\wwwroot\hemsida\gastbok.php on line 15
GrodanBollMedlem sedan sep. 2001789 inlägg
Verkar vara strul med denna funktionen och PHP version 4.1.
Kolla här... http://www.php.net/manual/en/function.odbc-fetch-array.php
Kanske det kan hjälpa dig?
/Grodan
SPiNMedlem sedan mars 20005 832 inlägg
Är det inte onödigt att skapa ännu en tråd om det? Vi har ju vår lilla diskussion i en annan tråd där det här redan har konstaterats. :)
TypeMedlem sedan mars 20021 340 inlägg
SPiN: Näe, tycker inte det...
Det blir lättare att söka i forumet om tråden heter det den gör nu. Den förra tråden handlade om odefinierade variabler.. att då börja prata access-databaser känns inte bra...
eller?
/ :)
SPiNMedlem sedan mars 20005 832 inlägg
Jo, det är sant att man kan se det så - men man kan ju alltid dela upp trådarna... ;)
Det får vår käre moderator sgtpepper gärna göra, om han känner för det. :)
TypeMedlem sedan mars 20021 340 inlägg
NÄÄSTAN
Nu fungerar det nästan.. problemet nu är att den inte klarar att skriva ut värdena....
if($p=='read') {
$odbcPekare = odbc_connect ( "myDSN", "", "" );
$odbcResult = odbc_exec ( $odbcPekare, "SELECT * FROM gastbokdata" );
$i = 0;
while (odbc_fetch_into($odbcResult, $curRow)) {
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow['ID'] . "<br />";
echo "Fält 2: " . $curRow['namn'] . "<br />";
}
odbc_close ( $odbcPekare );
}
Tabellkolumnerna heter ID och namn. och tabellen heter gastbokdata. Jag förstår inte varför det inte fungerar.. :(
Felmeddelandet (o det blir felmeddelande för varje ID/namn den vill skriva ut.. dock vet den att det bara finns två omgångar med info. DVS celler med ID 1 o 2 eftersom den bara loopar två ggr.):
Notice: Undefined index: namn in c:\inetpub\wwwroot\hemsida\gastbok.php on line 19
SPiNMedlem sedan mars 20005 832 inlägg
while-slingan:
odbc_fetch_into ( $odbcResult, $arrRows );
while ( $curRow = array_shift ( $arrRows ) ) {
...
Du får nog använda index-numrena istället för fältnamnen, alltså 0 och 1.
TypeMedlem sedan mars 20021 340 inlägg
if($p=='read') {
$odbcPekare = odbc_connect ( "myDSN", "", "" );
$odbcResult = odbc_exec ( $odbcPekare, "SELECT * FROM gastbokdata" );
$i = 0;
odbc_fetch_into ( $odbcResult, $arrRows );
while ($curRow = array_shift($arrRows)) {
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow['ID'] . "<br />";
echo "Fält 2: " . $curRow['namn'] . "<br />";
}
odbc_close ( $odbcPekare );
}
Nu får jag inget felmess.. tyvärr är det inte rätt ändå. nu skriver den ut ett tecken ur cellerna. När jag ändrar via access i databasen ändras inte sidan. nåt fel är det..
Nu finns det 5 celler men den skriver fortfarande bara ut 4 o innehållet den skriver ut är fel..
TypeMedlem sedan mars 20021 340 inlägg
NU VET JAG!
Nu vet jag vad som är felet...
Det är while-loopen som är fel. Nu loopar den 4 ggr, bara för att det finns 4 kolumner.
För varje gång den kör whileloopen skriver den ut samma sak. Den går aldrig vidare.
Sen skriver den bara ut första bokstaven av innehållet i cellen.
Jag hoppas ni förstår vad felet är... Jag har ingen aning.. tyvärr...
while ($curRow = array_shift($arrRows)) {
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow['ID'] . "<br />";
echo "Fält 2: " . $curRow['namn'] . "<br />";
echo "Fält 3: " . $curRow['email'] . "<br />";
echo "Fält 4: " . $curRow['text'] . "<br />";
}
SPiNMedlem sedan mars 20005 832 inlägg
Om du försöker med din första loop då;
while (odbc_fetch_into($odbcResult, $curRow)) {
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow[ 0 ] . "<br />";
echo "Fält 2: " . $curRow[ 1 ] . "<br />";
}
TypeMedlem sedan mars 20021 340 inlägg
Nu fungerar det!
Om jag använder loopen:
while (odbc_fetch_into($odbcResult, $curRow)) {
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow[0] . "<br />";
echo "Fält 2: " . $curRow[1] . "<br />";
echo "Fält 3: " . $curRow[2] . "<br />";
echo "Fält 4: " . $curRow[3] . "<br />";
}
Då fungerar det..
finns det inget sätt så man kan fixa så man kan skriva $curRow['namn'] tex.. det skulle bli betydligt lättare!
SPiNMedlem sedan mars 20005 832 inlägg
Läs användarnas tips här: http://www.php.net/manual/en/function.odbc-fetch-array.php
Då kanske du får det att funka.
TypeMedlem sedan mars 20021 340 inlägg
Tack!
Jag vill tacka för all hjälp. Du har verkligen hjälpt mig mycket!
Jag ska in o kolla va de skriver så får vi se sen.. tacktacktack!
/ :bire
SPiNMedlem sedan mars 20005 832 inlägg
Vassego. :)
Det är därför wF finns! :bire