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

  1. bonjour,

    pas possible de faire du php dans javascript

    php executé sur le serveur
    javascript chez le client
    2
    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',';
      }
      ]); "; ?>
      0
      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";
        }
        0