Tabella dinamica con jquery ephp

chesslore

Nuovo Utente
5 Set 2010
3
0
0
Buongiorno a tutti. E' la prima volta che posto su questo forum dopo aver letto e studiato l'esempio proposto per la creazione di select dinamice con php e jquery (link) dal quale sono riuscito ad ottenere il risultato desiderato con 2 select.

A questo punto ho tentato di ottenere una tabella dinamica con la stessa tecnica utilizzata per la select in questo modo:

PHP:
// Select Corse. 
function selCom(idCorsa) {
  // Seleziono corse da arrivo. 
  $.get("select_abitativa.php", { provinciaid: idCorsa, requestItems: 'corse'}, 
  function(dataCorsa){
    $("table[id='corse']").empty();
    var options = '<tr><td>Id_corsa</td><td>Partenza</td><td>Ora</td><td>Arrivo</td><td>Ora</td><td>Cadenza</td><tr>';
    var arrayCorsa = dataCorsa.split( '||');
    for (var i = 1; i < arrayCorsa.length; i++) {
      var corse = arrayCorsa[i].split( /,/);
      options += '<tr><td>' + corse[0] + '</td><td>' + corse[1] + '</td><td>' + corse[2] + '</td><td>' + corse[3] + '</td><td>' + corse[4] + '</td><td>' + corse[5] + '</td></tr>';
    }
    $("table[id='corse']").html(options);
  });
}
modificanto il body dell'index.php in questo modo:

PHP:
</select>
</p>
<p>
<label for="arrivo">Arrivo:</label><br />
<select id="arrivo" name="arrivo"onchange="selCom(this.value);">
<option value="" selected="selected">-- seleziona --</option>
<?php

// Query selezione tutte le fermate. 
$query = "select * from flexi_fermata"; 

// Eseguo la query. 
$result = mysql_query($query, $link_id); 
while($arrivo = mysql_fetch_array($result)) {
?>
<option value="<?php echo $arrivo['id_fermata']; ?>"><?php echo $arrivo['fermata']; ?></option>
<?php
}
?>
</select>
</p>
<p>
<label for="corse">Corse:</label><br />
<table id = "corse" border = "1">
    <tr>
        <th>ID_corsa</th>
        <th>Partenza</th>
        <th>Ora</th>
        <th>Arrivo</th>
        <th>Ora</th>
        <th>Cadenza</th>
    <tr>
</table>

... ed aggiungendo questo codice alla select_abitativa.php:

PHP:
if (isset($_GET['provinciaid']) and is_numeric($_GET['provinciaid'])) {
  if (isset($_GET['requestItems']) and $_GET['requestItems']==='corse') {
    $provinciaID = intval($_GET['provinciaid']);
    
	$query1 = "SELECT id_corsa, fermata, orario 
            FROM flexi_fermata, flexi_orario
            WHERE flexi_fermata.id_fermata = flexi_orario.id_fermata
            AND flexi_orario.id_fermata = '$regionID'
            AND id_corsa IN (select id_corsa FROM flexi_orario WHERE id_fermata = '$provinciaID')";
			
	$query2 = "SELECT flexi_orario.id_corsa, fermata, orario, cadenza  
            FROM flexi_fermata, flexi_orario, flexi_cadenze, flexi_corsa
            WHERE flexi_fermata.id_fermata = flexi_orario.id_fermata
            AND flexi_orario.id_fermata = '$provinciaID'
            AND flexi_orario.id_corsa IN (select id_corsa FROM flexi_orario WHERE id_fermata = '$regionID')
            AND flexi_corsa.id_cadenza = flexi_cadenze.id_cadenza
            AND flexi_orario.id_corsa = flexi_corsa.id_corsa";

	
    $result = mysql_query($query1);
	$result2= mysql_query($query2);
	
    $returnCorse = '';
    while ($row1 = mysql_fetch_array($result)){
		$row2 = mysql_fetch_array($result2);
		if ( $row1[2]<$row2[2]){
		$returnCorse .= "||".$row1[0].",".$row1[1].",".$row1[2].",".$row2[1].",".$row2[2].",".$row2[3];
		} else {
		$returnCorse .= "||".$row1[0].",".$row2[1].",".$row2[2].",".$row1[1].",".$row1[2].",".$row2[3];
		}
	print_r($returnCorse);
  } 
  }

ma non funziona più neppure la select partenza-arrivo che ero riuscito ad ottenere. Vorrei capire se è corretto quello che cerco di fare oppure per le tabelle non è possibile utilizzare questo sistema, anche se, senza conoscere ajax mi sembra abbastanza chiaro il funzionamento dello script.

Potete aiutarmi?
 
....ehm mancava un } alla select_abitativa ed ora le select funzionano, invece per la tabella riesco solo a visualizzare la riga dell'intestazione (quindi diciamo che in parte funziona)...

vediamo che riesco a fare con i risultati delle query...
 

Discussioni simili