CreepMedlem sedan mars 200341 inlägg För det första, jag har sökt. Både här och google, och jag har hittat väldigt mycket nyttig information, men eftersom jag är väldigt ny när det gäller PHP så hjälper det inte. Jag har gjort ett väldigt enkelt nyhetsscript, men nu vill jag inkludera paging i det. Det enda jag har hittat är exempel på paging i mySQL och med ODBC-koppling till databasen, som båda verkar använda egna kommandon som inte funkar med COM. Skulle vilja ha hjälp med hur jag fixar detta. Vill ni inte skriva ett helt script så skulle jag vara tacksam om ni gav mig ledtrådar eller ett översiktligt upplägg på hur jag ska tänka. Inkluderar min kod till nyhetsscriptet som referens. Tack på förhand!
<?php
$db_connection = new COM("ADODB.Connection");
$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".realpath("./news.mdb") ."; DefaultDir=".realpath("./");
$db_connection->open($db_connstr);
$rs = $db_connection->execute("SELECT * FROM news ORDER BY ID DESC");
$rs_fldDate = $rs->Fields(1);
$rs_fldText = $rs->Fields(2);
while (!$rs->EOF) {
print "<TR COLSPAN='2' BGCOLOR='#000000'><TD COLSPAN='2' BGCOLOR='#000000'><TABLE WIDTH='100%' BORDER='0' CELLSPACING='2' CELLPADDING='0' BGCOLOR='#000000'><TR><TD><TABLE WIDTH='100%' BORDER='0' CELLSPACING='0' CELLPADDING='2' BGCOLOR='#FFFFFF'><TR><TD BGCOLOR='#FFFFFF'><FONT FACE='Verdana' SIZE='-1'><br><B><BIG>$rs_fldDate->value</BIG></B>: $rs_fldText->value</FONT></TD></TR></TABLE></TD></TR></TABLE></TD></TR><TR><TD COLSPAN='2' BGCOLOR='#FFFFFF'></TD></TR>";
$rs->MoveNext();
}
$rs->Close();
$db_connection->Close();
?>
Kanske ser lite rörigt ut med HTML-koden där i mitten, men det är så jag har utformat det än så länge. Verkade lättast för stunden :)
Ex. på paing mot Access Databas;
<?php
define( "POSTS_PER_PAGE", 10 );
if( !isset( $_GET[ 'curPage' ] ) || $_GET[ 'curPage' ] == "" ) {
$curPage = 1;
}
else {
$curPage = ( int )$_GET[ 'curPage' ];
}
$adoConnection = new COM( "ADODB.Connection" );
$adoRecordset = new COM( "ADODB.Recordset" );
$adoConnection->open( "driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\\Sökväg\\Till\\Databas.mdb" );
// $adoConnection->open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Sökväg\\Till\\Databas.mdb" );
$adoRecordset->CursorLocation = 3;
$adoRecordset->CahcheSize = POSTS_PER_PAGE;
$adoRecordset->open( "SELECT name, email FROM tbl ORDER BY name ASC, email ASC", $adoConnection );
$adoRecordset->MoveFirst;
$adoRecordset->PageSize = POSTS_PER_PAGE;
$totalPages = $adoRecordset->PageCount;
$adoRecordset->AbsolutePage = $curPage;
echo "<html>\n<head>\n<title>Paging!</title>\n</head>\n<body>\n\n";
$counter = 0;
while( $adoRecordset->EOF != true && $counter < $adoRecordset->PageSize ) {
echo $adoRecordset->Fields["name"]->value . " - " . $adoRecordset->Fields["email"]->value . "<br />\n";
$counter++;
$adoRecordset->MoveNext;
}
echo "<br />\n";
echo "Nuvarande sida: " . $curPage . "<br />\n";
echo "Totalt antal sidor: " . $totalPages . "<br />\n";
if( $curPage > 1 )
echo "<a href=\"" . $_SERVER[ 'PHP_SELF' ] . "?curPage=" . $curPage - 1 . "\">Föregående</a>";
echo " ";
if( ( ( int ) $curPage ) != ( ( int ) $totalPages ) )
echo "<a href=\"" . $_SERVER[ 'PHP_SELF' ] . "?curPage=" . $curPage + 1 . "\">Nästa</a>";
echo "\n<br />\n";
echo "</body>\n</html>";
?>
Här har du ett, men du får ju ändra så att det passar dig!
CreepMedlem sedan mars 200341 inlägg Tack så jättemycket. Uppskattas som fan :)
Ska leka med det lite nu, och se vad jag får fram
SPiNMedlem sedan mars 20007 896 inlägg Fredde Mannen>Är det där din kod, om inte - var hittade du den? :)
CreepMedlem sedan mars 200341 inlägg Jo, det undrar jag med :)
SPiNMedlem sedan mars 20007 896 inlägg Jag undrar mest för att det ser ut som något jag gjorde för länge sen, och jag kan inte hitta det någonstans nu. :)
ThACRoWMedlem sedan dec. 2001314 inlägg Självklart är det din kod, SPiN. Syns på långa vägar.
Till SPIN
SPIN -> Så klart det är din kod, du hjälpte mig med det för ett tag sedan... sök i forumet på Paging mot Microsoft Access, eller något sådant! :e