Pb de code php dans javascript

bonjour, j'ai un pb lorsque j'insère un code php dans le code javascript par exemple:
<script>
var obj = new AW.UI.Grid;
obj.setCellData([<?php
for($i=0;$i<4;$i++){
echo'[';
for($j=0;$j<4;$j++){
print """;
echo $tab[$i][$j];
print """;
if($j!=3) echo',';
}
echo ']';
if($j!=3) echo',';
}
?>]);
.
.etc
il m'affiche la boite d'alert (erreur de script), sachant que j'utilise le wamp 5 (php5,MySQL5,apache2)est-ce-qu'il y a des modification dans php pour qu'il marche? je besoin d'une réponse dans le plus courte durée,merci
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. bonjour,

    pas possible de faire du php dans javascript

    php executé sur le serveur
    javascript chez le client
    1. Salut,,

      écrit ton code javascripte dans un echo php:

      <?php echo "
      <script>
      var obj = new AW.UI.Grid;
      obj.setCellData([
      for($i=0;$i<4;$i++){
      echo'[';
      for($j=0;$j<4;$j++){
      print \"\"\";
      echo $tab[$i][$j];
      print \"\"\";
      if($j!=3) echo',';
      }
      echo ']';
      if($j!=3) echo',';
      }
      ]); "; ?>
      1. Si tu as vraiment besoin d exécuter du php dans du javascript recherche l'objet XHR

        regardes ici

        function showResultsTableRight()
        {
        //alert("xhr_url = "+xhr_url);
        //alert("enter showResultsTableRight");
        // 1. catch dynamic data from server thanks to Ajax
        // 1.1 clear area before displaying result(s)
        document.getElementById("resultsTableDiv").innerHTML = null;

        // 1.2 collect data to do correct operation in db
        var act = 'getrightlist';
        var dataArray = collectSearchFormDataRight();
        var data = "act="+act+"&label="+dataArray[0];

        // 1.3 use xmlhttprequest object
        var xhr_object = GetXmlHttpRequest();

        // 1.4 open 'facade' file to access data (via an object)
        xhr_object.open("POST", "/efstc/dev/php/facade/Facade_right.php", true);

        // 1.5 server is ready
        xhr_object.onreadystatechange = function()
        {
        /*if(xhr_object.readyState == 4 && xhr_object.status == 200)
        {
        //alert(xhr_object.responseText);
        document.getElementById("resultsTableDiv").innerHTML = xhr_object.responseText;
        }*/

        // waiting until request is achieved
        if((xhr_object.readyState == 1) ||(xhr_object.readyState == 2) || (xhr_object.readyState == 3))
        document.getElementById("resultsTableDiv").innerHTML = 'LOADING...';
        // now we can read server response
        else if(xhr_object.readyState == 4)
        {
        if(xhr_object.status == 200) // continue only if HTTP status is 'OK'
        document.getElementById("resultsTableDiv").innerHTML = xhr_object.responseText;
        else // display error message
        alert('in js_user.js file\nThere was a problem retrieving the data:\n'+xhr_object.statusText);
        }
        }

        xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // mandatory if method = POST

        // 2. send data to server
        xhr_object.send(data); // in case of method = POST

        // 3. display div which is in charge of results table
        document.getElementById("resultsTableDiv").style.visibility = "visible";
        }