2009-11-13 4 views
0

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.

+1

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

+2

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

Répondre

3

Je pense que vous avez une erreur PHP. Veuillez activer error_reporting. Pouvez-vous essayer d'enlever les deux lignes sur le dessus de ce fichier ../Lib/displaygrid.php

<script type="text/javascript" src="js_cookiefunctions.js"/> 
<link rel="stylesheet" href="DGStyle.css" type="text/css"> 

Hope this helps! Mais activez le rapport d'erreurs pour voir où se trouve l'erreur réelle.

1

Peut-être des problèmes avec include path?

essayer:

require dirname(__FILE__) . '/../Lib/path/to/required.file.php'; 
1

Utilisez ini_set('display_errors', 1) et error_reporting (E_ALL)

1

Vous devez enlever les deux premières lignes de fichier ../Lib/displaygrid.php pour votre code fonctionne.

<script type="text/javascript" src="js_cookiefunctions.js"/> 
<link rel="stylesheet" href="DGStyle.css" type="text/css"> 

BTW, vous devez écrire un code plus propre et d'éviter la présentation de mélange avec le code

Questions connexes