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:
modificanto il body dell'index.php in questo modo:
... ed aggiungendo questo codice alla select_abitativa.php:
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?
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);
});
}
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?