AJAX e PHP

Salve a tutti,

ripropongo la soluzione "classica" PHP-AJAX di select dinamiche.

L'ho adattata per una mia esigenza ma ho il problema che il browser mi duplica (triplica anche) i menů  e le barre che inserisco con require_once. Questo mi scombina tutta la grafica  del sito in maniera indicibile.

vi posto il codice, grazie.

file javascript

function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};

function dochange(src, val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
 if (req.readyState==4) {
      if (req.status==200) {
           document.getElementById(src).innerHTML=req.responseText; //retuen value
      }
 }
};
req.open("GET", "eventi.php?data="+src+"&val="+val+"&step=1"); //make connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
req.send(null); //send value
}

window.onLoad=dochange('anno', -1);

e il file php della select:

<?php     
ini_set('display_errors', 1);
error_reporting(E_ALL);

// Controllo Sessione

$controllo_sessione=session_id();
if(empty($controllo_sessione))
{
  session_start();
}
if (!isset($_SESSION['codice']) || !isset($_SESSION['utente']) || $_SESSION['diritti'] != 'SuperUtente')
   header('Location: ../../index.php');


if (isset($_GET['step']))
   $step = $_GET['step'];
else
   $step = 0;

     //Set variabili per creazione menu

  $grado_menu=1;             //Valore 0 per menu utente 1 per menu Amministratore 2 per menu secondario Amministratore
  $menu_principale=2;        //Valore x per selezionare il menu principale
  $menu_secondario=6;        //Valore x per selezionare il menu secondario o sottomenu
  $menu_gestione=10;        //Valore x per selezionare il menu secondario o sottomenu

  $title="ADMIN - Eventi: Beni Coinvolti";
  include ('../../config.php');
  require_once(PATH_BASE . '/include/header.php');
  require_once(PATH_BASE . '/include/textarea_piccola.php');
  include (PATH_BASE . '/include/funzioni.php');
?>
<script language="JavaScript" src="java_select_anno_evento.js"></script>
<?php
  
switch($step)
{
 case 0:
?>
        <ul>
      <h1>BENI COINVOLTI NELL'EVENTO</h1>
        <h2>SCELTA EVENTO</h2>
        <form method="post" action="<?php echo($url); ?>/gestione/eventi/tipologie_eventi.php?step=1">
      <p>Selezionare l'Evento di cui interessa visualizzare o inserire i beni coinvolti.</p>
        <table class="form-table">
         <tr class="form-table">
             <th scope="row"><label for="anno">* Anno:</label></th>
             <td>
    <?php
    
     echo "<font id=anno><select>\n";
     echo "<option value='0'>============</option> \n" ;
     echo "</select></font>\n";
     ?>
    </td>
             
         </tr>
     <tr class="form-table">
             <th scope="row"><label for="evento">* Evento:</label></th>
             <td>
<?php    
     echo "<font id=eventi><select>\n";
     echo "<option value='0'>=== evento ===</option> \n" ;
     echo "</select></font>\n";

?>
</td>
</table>
<p class="step"><input name="submit" type="submit" value="Invia" class="button" /></p>
</form></ul></html>



<?php

break;

case 1:
 


$data=$_GET['data'];
$val=$_GET['val'];

//set database
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$dbname    = "cciaa_latina";
mysql_pconnect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to MySQL server");

if ($data=='anno') {  // first dropdown
  echo "<select name='anno' onChange=\"dochange('eventi', this.value)\">\n";
  echo "<option value='0'>==== Scegli l'anno ====</option>\n";
  $result=mysql_db_query($dbname,"select `id_evento`, `anno` from dwh_eventi order by `anno`") or die(mysql_error());
  while(list($id, $anno)=mysql_fetch_array($result)){
       echo "<option value=\"$anno\" >$anno</option> \n" ;
  }
} else if ($data=='eventi') { // second dropdown
  echo "<select name='eventi' >\n";
  echo "<option value='0'>==== Scegli l'evento ====</option>\n";                   
  $result=mysql_db_query($dbname,"SELECT `id_evento`,`nome` FROM dwh_eventi WHERE `anno`='$val' ORDER BY `nome` ") or die(mysql_error());
  while(list($id, $name)=mysql_fetch_array($result)){
       echo "<option value=\"$id\" >$name</option> \n" ;
  }
}
echo "</select>\n";

}
?>
inviato 7 anni fa
imrik
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda