Bonjour à tous,

J'utilise le plugin jQuery Datatable, or les exemples sont sous mySql & pour ma part, je tiens à utiliser Firebird. Je me lance donc dans l'adaptation du script des différents exemples pour les faire fonctionner sous Firebird, mais je rencontre quelques erreurs.

Voilà ou j'en suis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
	require '_inc_config.php';

	define("DBNAME", "PATH");
	define("DBUSER", "USER");
	define("DBPASS", "MDP");
	
	$dbh = ibase_connect(DBNAME, DBUSER, DBPASS) or die(_ERROR15.": ".ibase_errmsg());
	
	
	/* Paging */
	$sLimit = "";
	if (isset($_POST['iDisplayStart'])) {
		settype($iDislayStart, 'integer');
		$iDisplayStart = $_POST['iDisplayStart'];
		$iDisplayLength = $_POST['iDisplayLength'];
		$sLimit = sprintf(" FIRST ".$iDisplayStart." SKIP ".$iDisplayLength);
	}
	
	/* Ordering */
	$sOrder = "";
	$sOrder = " ORDER BY AC_DATE_PREVU ";
	
	/* Filtering */
	$sWhere = "";
	if (isset($_POST['sSearch']) != "") {
		$sWhere = " WHERE (AC_NOM_ACTION LIKE ''%".$_POST['sSearch']."%'') ";
	}
	
	$sQuery = "SELECT r.AC_DATE_PREVU as AC_DATE_PREVU, r.AC_NOM_ACTION as AC_NOM_ACTION, r.AC_DETAIL as AC_DETAIL, r.AC_DATEFIN as AC_DATEFIN, (select lta_nom from listetypeaction where lta_code = r.AC_TYPEACTION) as AC_TYPEACTION, (select v_nom from vendeur where v_code = r.AC_CODEINTERLOCUTEUR_DEST) as AC_UTILISATEUR_DEST, r.AC_CODECONTACT as AC_CODECONTACT from ACTIONS r".$sWhere.$sOrder.$sLimit.";";
	
	$rResult = ibase_query($sQuery);
	$sQuery = "SELECT FOUND_ROWS() from ACTIONS;";
	$rResultFilterTotal = ibase_query($sQuery); // 34
	
	
	$sQuery = "SELECT COUNT(*) as DCOUNT from ACTIONS".$sWhere.$sLimit.";";
	
	
	$aResultFilterTotal = ibase_fetch_assoc($rResultFilterTotal); // 40 
	$iFilteredTotal = $aResultFilterTotal['DCOUNT'];
	
	
	$rResultTotal = ibase_query($sQuery);
	$aResultTotal = ibase_fetch_assoc($rResultTotal);
	$iTotal = $aResultTotal[0]; // 46
	
	$sOutput = '{';
//	$sOutput .= '"sEcho": '.intval($_POST['sEcho']).',';
	$sOutput .= '"iTotalRecords": '.$iTotal.', ';
	$sOutput .= '"aaData": [ ';
	while ($aRow = ibase_fetch_array($rResult)) { // 52
		$sOutput .= "[";
		$sOutput .= '"'.addslashes($aRow['AC_NOM_ACTION']).'",';
		$sOutput .= '"'.addslashes($aRow['AC_TYPEACTION']).'",';
		$sOutput .= '"'.addslashes($aRow['AC_UTILISATEUR_DEST']).'",';
		$sOutput .= '"'.addslashes($aRow['AC_DATE_PREVU']).'",';
		$sOutput .= '"'.addslashes($aRow['AC_DETAIL']).'",';
		$sOutput .= "],";
	}
	$sOutput = substr_replace($sOutput, "", -1);
	$sOutput .= '] }';
	
	echo $sOutput;
	function fnColumnToField( $i )
        {
                if ( $i == 0 )
                        return "AC_NOM_ACTION";
                else if ( $i == 1 )
                        return "AC_TYPEACTION";
                else if ( $i == 2 )
                        return "AC_UTILISATEUR_DEST";
                else if ( $i == 3 )
                        return "AC_DATE_PREVU";
                else if ( $i == 4 )
                        return "AC_DETAIL";
        }
		ibase_free_result($aResultTotal);
?>
Je me retrouve actuellement avec les différentes erreurs :

Warning: ibase_query(): Dynamic SQL Error SQL error code = -804 Function unknown FOUND_ROWS in C:\wamp\testServerSide.php on line 34

Warning: ibase_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamptestServerSide.php on line 40

Notice: Undefined offset: 0 in C:\wamp\testServerSide.php on line 46

Fatal error: Call to undefined function ibase_fetch_array() in C:\wamp\testServerSide.php on line 52
Les Paths de WAMP sont changés, donc pas d'inquiétude si ça vous saute aux yeux

J'ai noté les différentes lignes auxquelles il y à des erreurs pour que vous puissiez cerner plus rapidement.

Pour finir, je me suis inspiré de ce seul et unique post que j'ai pu trouver, relatant DataTable et Firebird : http://forums.devshed.com/firebird-s...pt-765055.html

EDIT : Le script original sous Mysql : https://datatables.net/development/s...side/php_mysql

Merci à toute aide pouvant être apportée !