1. Go to this page and download the library: Download rafaelnajera/datatable library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$newRow = [ 'field1' => 'exampleStringValue', // or
'field2' => null,
'field3' => true, // or false
'field4' => $someIntegerVariable
// ...
'fieldN' => $nthValue ];
$newId = $dt->createRow($newRow);
// $newId is unique within the table
$dt = new DataTableImplementation();
$dt->setIdColumnName('row_id');
$dt->getIdColumnName(); // 'row_id'
$dt[] = $newRow;
// new row with a given id
$dt[$desiredId] = $newRow;
// but this updates the row if $desiredId already exists
$result = $dt->rowExists($rowId);
$row = $dt->getRow($rowId);
// $row === [ 'id' => $rowId, 'col1' => value, .... 'colN' => value];
// OR
$row = $dt[$rowId];
// both throw a RowDoesNotExist exception if the row does not exist
$rows = $dt->getAllRows();
$rows = $dt->getAllRows();
$numRows = $rows->count();
// EITHER
foreach($rows as $row) {
// do something ...
}
// OR
$firstRow = $rows->getFirst(); // null if there are no rows in the result set
public function search(array $searchSpecArray, int $searchType = self::SEARCH_AND, int $maxResults = 0) : array;
/**
* Searches the datatable according to the given $searchSpec
*
* $searchSpecArray is an array of conditions.
*
* If $searchType is SEARCH_AND, the row must satisfy:
* $searchSpecArray[0] && $searchSpecArray[1] && ... && $searchSpecArray[n]
*
* if $searchType is SEARCH_OR, the row must satisfy the negation of the spec:
*
* $searchSpecArray[0] || $searchSpecArray[1] || ... || $searchSpecArray[n]
*
*
* A condition is an array of the form:
*
* $condition = [
* 'column' => 'columnName',
* 'condition' => one of (EQUAL_TO, NOT_EQUAL_TO, LESS_THAN, LESS_OR_EQUAL_TO, GREATER_THAN, GREATER_OR_EQUAL_TO)
* 'value' => someValue
* ]
*
* Notice that each condition type has a negation:
* EQUAL_TO <==> NOT_EQUAL_TO
* LESS_THAN <==> GREATER_OR_EQUAL_TO
* LESS_OR_EQUAL_TO <==> GREATER_THAN
*
* if $maxResults > 0, an array of max $maxResults will be returned
* if $maxResults <= 0, all results will be returned
public function findRows(array $rowToMatch, int $maxResults = 0) : array;
$dt->updateRow($row);
// OR
$dt[$rowId] = $row;
$result = $dt->deleteRow($rowId);
// OR
unset($dt[$rowId]);
$supported = $dt->supportsTransactions(); // true if supported
if($dt->supportsTransactions()){
if ($dt->startTransaction()) {
// create, update, delete rows ...
// decide whether to commit or rollback
if ($goAheadWithCommit) {
if ($dt->commit()){
// all went well, changes are committed
} else {
// error during commit
$errorMessage = $dt->getErrorMessage();
$errorCode = $dt->getErrorCode();
}
} else { // roll back
if ($dt->rollBack() {
// rollBack done, changes to the database not saved
} else {
// error during rollBack
$errorMessage = $dt->getErrorMessage();
$errorCode = $dt->getErrorCode();
}
}
} else {
// error starting transaction
$errorMessage = $dt->getErrorMessage();
$errorCode = $dt->getErrorCode();
}
}