Salve a tutti,
premetto che sono nuovo sul forum e un novizio di ajax,
ho provato a dare un occhiata se era gia presente una discussione che riguardasse questo tipo di errore ma non ho trovato casi analoghi al mio.
spero possiate essermi di aiuto.
come da titolo ho un problema con la chiamata ajax alla mia pagina data.php.
quello che faccio (o meglio vorrei fare) è:
- seleziono un nuovo valore di una delle select in index.html
- vengono selezionati i valori delle select
- passare questi valori tramite ajax a data.php
quello che a regola mi da problemi è il punto 3 perchè la chiamata mi da sempre errore e di conseguenza mi stampi sempre l'alert di errore
qualcuno sa spiegarmi il motivo??
vi posto il mio codice
questa la mia index.html
codice:
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8">
<title>Lettori Italiani</title>
<link href="PaginaPrincipale.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<meta name="description" content="indagine statistica per sui lettori italiani">
<link rel="stylesheet" type="text/css" href="stile.css">
<script src="select.js"></script>
</head>
<body>
<div id ="divtitolo">
<h1> Lettori Italiani </h1>
<h4>...e Tu leggi?</h4>
</div>
<div class="riga"><hr></div>
<div id="introduzione">
<p> spiegazione del sito</p>
<div class="riga"><hr></div>
<a href="index.html" class="off">Osserva per anno</a>
<a href="fascia.html" class="on">Osserva per fascia</a>
<p>Seleziona i parametri dei dati che vuoi visualizzare:</p>
<select class="esegui" id="sesso" name="sesso">
<option value="uomini" selected="selected">Uomini</option>
<option value="donne">Donne</option>
<option value="totale">Totale</option>
</select>
<select class="esegui" id="fascia1" name="fascia1">
<option value="6-10" selected="selected">6 - 10 anni</option>
<option value="11-14">11 - 14 anni</option>
<option value="15-17">15 - 17 anni</option>
<option value="18-19">18 - 19 anni</option>
<option value="20-24">20 - 24 anni</option>
<option value="25-34">25 - 34 anni</option>
<option value="35-44">35 - 44 anni</option>
<option value="45-54">45 - 54 anni</option>
<option value="55-59">55 - 59 anni</option>
<option value="60-64">60 - 64 anni</option>
<option value="65-74">65 - 74 anni</option>
<option value="75 o +">75 o + anni</option>
</select>
<select class="esegui" id="fascia2" name="fascia2">
<option value="6-10" selected="selected">6 - 10 anni</option>
<option value="11-14">11 - 14 anni</option>
<option value="15-17">15 - 17 anni</option>
<option value="18-19">18 - 19 anni</option>
<option value="20-24">20 - 24 anni</option>
<option value="25-34">25 - 34 anni</option>
<option value="35-44">35 - 44 anni</option>
<option value="45-54">45 - 54 anni</option>
<option value="55-59">55 - 59 anni</option>
<option value="60-64">60 - 64 anni</option>
<option value="65-74">65 - 74 anni</option>
<option value="75 o +">75 o + anni</option>
</select>
<select class="esegui" id="fascia3" name="fascia3">
<option value="6-10" selected="selected">6 - 10 anni</option>
<option value="11-14">11 - 14 anni</option>
<option value="15-17">15 - 17 anni</option>
<option value="18-19">18 - 19 anni</option>
<option value="20-24">20 - 24 anni</option>
<option value="25-34">25 - 34 anni</option>
<option value="35-44">35 - 44 anni</option>
<option value="45-54">45 - 54 anni</option>
<option value="55-59">55 - 59 anni</option>
<option value="60-64">60 - 64 anni</option>
<option value="65-74">65 - 74 anni</option>
<option value="75 o +">75 o + anni</option>
</select>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto; margin-top: 40px;"></div>
</body>
</html>
la pagina select.js invece è
codice:
$(document).ready(function(){
$('.esegui').change(function(){
var sesso = $('#sesso').val();
var fascia1 = $('#fascia1').val();
var fascia2 = $('#fascia2').val();
var fascia3 = $('#fascia3').val();
alert("parametri letti");
$.ajax({
type: "GET",
url: "data.php",
dataType: "json",
data:{'sesso':sesso, 'fascia1':fascia1, 'fascia2':fascia2, 'fascia3':fascia3},
//data:"sesso="+sesso+"&fascia1="+fascia1+"&fascia2="+fascia2+"&fascia3="+fascia3,
success:function(risultato){
alert("successo");
//grafico();
},
error:function(){alert("errore");}
});
});
});
//crea il grafico tramite highcharts
function grafico(){}
mentre la mia pagina data.php è:
codice:
<?php
$con = mysql_connect("localhost","root","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("letturalibri", $con);
$sesso = $_GET['sesso'];
$fascia1 = $_GET['fascia1'];
$fascia2 = $_GET['fascia2'];
$fascia3 = $_GET['fascia3'];
$que = mysql_query("SELECT a1995, a1996, a1997 FROM '$sesso' WHERE Fascia='$fascia1' OR Fascia='$fascia2' OR Fascia='$fascia3'");
$series1 = array();
$series1['name'] = "$fascia1";
$series2 = array();
$series2['name'] = "$fascia2";
$series3 = array();
$series3['name'] = "$fascia3";
while($r = mysql_fetch_array($que)){
$series1['data'][] = $r['a1995'];
$series2['data'][] = $r['a1996'];
$series3['data'][] = $r['a1997'];
}
$result = array();
array_push($result,$series1);
array_push($result,$series2);
array_push($result,$series3);
print json_encode($result, JSON_NUMERIC_CHECK);
?>