J'ai aussi un fichier .php avec du code HTML. A travers ce fichier, j'appelle une fonction dans un autre fichier .php qui réside dans une classe. L'appel ne fonctionne pas. Il ne fait simplement pas entrer la fonction dans la classe.Une fonction statique publique dans une classe ne s'exécutant pas
Voici les codes des premier et deuxième fichiers respectivement.
<div id="sectionGrid"> <!-- Begin of Grid Section -->
<table id="tblGrid">
<tr>
<?php
require("../Lib/displaygrid.php");
displaygrid::SetGridWithValues("*","electioncategorymaster");
?>
</tr>
</table>
</div> <!-- End of Grid Section -->
Ci-dessus est juste une section du premier fichier. Ci-dessous le deuxième code fichier entier:
<script type="text/javascript" src="js_cookiefunctions.js"/>
<link rel="stylesheet" href="DGStyle.css" type="text/css">
<?php
final class displaygrid
{
public static function SetGridWithValues($columnNames,$tableName)
{
echo $columnNames;
require 'obfusGrid.php';
require 'obfusGridSqlDAP.php';
require("../Config/dbconfig.php");
// Load the database adapter
$db = new MySQLAdap(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
// Load the datagrid class
$x = new MyDataGrid($db);
// Set the query
$x->setQuery($columnNames, $tableName);
// Add a row selector
$x->addRowSelect("SetRowInCookie(%ID%);");
echo $columnNames;
// Apply a function to a row
function returnSomething($ID)
{
return strrev($id);
}
$x->setColumnType('ID', MyDataGrid::TYPE_FUNCTION, 'returnSomething', '%id%');
// Print the table
$x->printTable();
//Show button to return to keywords entry page
echo "<br><input id='backbutton' type='button' value='Back' onclick='ReturnBack()';>";
echo "<script type='text/javascript'>alert(cookie['row_id']);</script>";
}
}
?>
Je veux aussi savoir si les liens vers d'autres fichiers sont mis en œuvre avec succès dans le second code? Je veux dire, le tag Link and Script en haut.
Avez-vous vérifié le code source HTML? Il est possible que certaines choses ne soient pas affichées, parce que vous êtes dans une rangée de table ... – Franz
Votre code est un bordel. Vous devriez vraiment séparer les classes du balisage à tout le moins. Inclure un script de manipulation de cookie et utiliser des balises de lien au milieu d'une rangée de table n'est pas une bonne idée non plus ... Vous feriez mieux d'abandonner complètement la classe et d'inclure du code PHP ... – Palantir