Ho un problema con questo esercizio: non riesco a completare lo script dettagli.php....
qualcuno può aiutarmi?![]()
Questo è lo script index.php:
<html>
<head>
<style type="text/css">
/* stile del primo div */
#idD{
background-color:cyan;
position:absolute;
top:5%;
left:5%;
border-style:solid;
border-color:red;
width:30%;
}
/* stile del secondo div */
#idD2{
visibility:hidden;
background-color:cyan;
position:absolute;
top:5%;
left:55%;
border-style:solid;
border-color:blue;
width:30%;
}
/* intestazione del secondo div */
h3{
font-style:bold;
text-align:center;
}
/* stile della tabella delle imbarcazioni disponibili */
#imbarcazioni{
border:none;
text-align:center;
}
</style>
<script type="text/javascript">
/* Selezionando il tipo di imbarcazione la funzione abilita i campi select */
function abilita(val){
document.getElementById("porto").disabled=false;
document.getElementById("risultati").disabled=fals e;
}
function visualizza(){
document.getElementById("idD2").style.visibility=" visible";
}
</script>
<script src="funAjax.js"></script>
</head>
<body>
<div id="idD">
<form method="GET" action="<?php echo $_SERVER['PHP_SELF'] ?>" name="modulo">
Scegli il tipo di imbarcazione
<input type="radio" name="tipo" value="motore" onclick="abilita();popola(this.value)"> motore
<input type="radio" name="tipo" value="vela" onclick="abilita();popola(this.value)"> vela
</p>
Scegli il porto di partenza
<select id="porto" disabled name="val">
</select>
</p>
Massimo numero di risultati
<!-- la funzione mostra() visualizza il secondo div contenente una
tabella con le imbarcazioni disponibili -->
<select id="risultati" disabled onclick="mostra(this.value);visualizza()">
<?php
for($i=1;$i<=6;$i++){
echo"<option value=$i> $i ";
}
?>
</select>
</p>
</form>
</div>
<div id="idD2">
<!-- lo script dettagli.php visualizza i dettagli delle imbarcazioni --!>
<form method="get" action="dettagli.php" name="modulo2">
<h3>Imbarcazioni <?php echo $nome ?> disponibili</h3>
<table id="imbarcazioni">
<tr>
<td>Modello</td><td>Lunghezza</td><td>Prezzo/giorno</td><td></td>
</tr>
</table>
</form>
</div>
</body>
</html>
--------------------------------
funAjax.js:
var xmlHttp;
function popola(val){
xmlHttp=getXMLHttpRequest();
if(xmlHttp==null){
alert("Il tuo browser non supporta Ajax");
return;
}
var url;
url="script.php";
/*
aggiunge la variabile che contiene la scelta tra motore e vela
*/
url=url+"?q="+val;
/*
contiene lo stato della risposta del server
*/
xmlHttp.onreadystatechange=stateFunction;
/*
apre una connessione verso il server
viene usato il metodo get
comunicazione asincrona(true)
*/
xmlHttp.open("GET",url,true);
/*
invia la richiesta al server
*/
xmlHttp.send(null);
}
function mostra(valore){
xmlHttp=getXMLHttpRequest();
if(xmlHttp==null){
alert("Il tuo browser non supporta Ajax");
return;
}
var url="script2.php";
url=url+"?q="+valore;
elem=document.getElementById("porto").value;
url=url+"&tab="+elem;
xmlHttp.onreadystatechange=mostraFunction;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateFunction(){
/*
se la richiesta è stata completata viene popolata la select del porto
*/
if(xmlHttp.readyState==4){
/*
xmlDoc contiene la risposta del server
*/
xmlDoc=xmlHttp.responseText;
/*
elem è il riferimento all'oggetto select
*/
elem=document.getElementById("porto");
/*
la risposta del server viene inserita in un array
*/
array=xmlDoc.split(",");
/*
ciclo for per la creazione delle option
e l'inserimento all'interno della select
*/
for(i=0;i<array.length;i++){
/*
crea un oggetto di tipo option con text=array[i] e value=array[i]
false=non selezionato
*/
op= new Option(array[i],array[i],false,false);
/*
inserisce la option nella select
*/
elem.options[elem.options.length]=op;
}
}
}
function mostraFunction(){
if(xmlHttp.readyState==4){
xmlDoc2=xmlHttp.responseText;
document.getElementById("imbarcazioni").innerHTML= xmlDoc2;
}
}
/* restituisce un oggetto di tipo XMLHttpRequest */
function getXMLHttpRequest(){
var xmlHttp=null;
try{
xmlHttp= new XMLHttpRequest();
}catch(e){
try{
xmlHttp=new ActiveObject("Msxml12.XMLHTTP");
}catch(e){
xmlHttp= new ActiveObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
---------------
Script.php:
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26, Jul 1997 05:00:00 GMT");
/*
memorizza la variabile(motore o vela)
*/
$q=$_GET['q'];
/*
include una sola volta lo script della connessione
*/
require_once("conn.php");
/*
seleziona dalla tabella le imbarcazioni che
corrispondono al tipo(motore o vela) scelto
*/
$query= "SELECT *FROM porto WHERE id='".$q."'";
$risultato=mysql_query($query) or die("Query non riuscita");
while($riga=mysql_fetch_array($risultato)){
echo $riga['nomePorto'].",";
}
mysql_close($connessione);
?>
--------------
script2.php:
<?php
header("Cache-Control:no-cache, must-revalidate");
header("Expires: Mon, 26, Jul 1997 05:00:00 GMT");
$q=$_GET['q'];
$q2=$_GET['tab'];
$i=1;
require_once("conn.php");
$query="SELECT *FROM ".$q2;
$result=mysql_query($query) or die("Query non riuscita");
while($riga=mysql_fetch_array($result)){
if($i<=$q){
$i++;
echo"<tr><td>".$riga['Modello']."</td><td>".$riga['Lunghezza']."</td><td>".$riga['Prezzo/giorno']."</td><td>Dettagli</td></tr>";
}
}
mysql_close($connessione);
?>
-------------------
Connessione al database:
<?php
/*
Supponendo che il nome e password dell'utente siano "root" "root"
e di avere un database "imbarcazione" la connessione sarà la seguente
*/
$connessione= mysql_connect("localhost","root","root") or die("Connessione al database non riuscita");
mysql_select_db("imbarcazione",$connessione);
?>
----------------
Lo script dettagli.php(non completato)
<html>
<head>
<style type="text/css">
#dettagli{
position:absolute;
top:20px;
left:20px;
border-style:solid;
border-color:blue;
}
table{
border:none
}
</style>
</head>
<body>
<?php
require_once("conn.php");
$query="SELECT *FROM ".$nomeTab;
$risultato=mysql_query($query) or die("Query non riuscita");
?>
<div id="dettagli">
<table>
<tr>
<td>Modello</td><td><?php echo $modello ?></td>
</tr>
<tr>
<td>Lunghezza</td><td><?php echo $lung ?></td>
</tr>
<tr>
<td>Prezzo al giorno</td><td><?php echo $prezzo ?></td>
</tr>
<tr>
<td>Cabine</td><td><?php echo $cabine ?></td>
</tr>
<tr>
<td>Bagni</td><td><?php echo $bagni ?></td>
</tr>
<tr>
<td>Bow thruster</td><td><?php echo $bow ?></td>
</tr>
<tr>
<td>Anno costruzione</td><td><?php echo $anno ?></td>
</tr>
</table>
</div>
</body>
</html>
---------------------
Allego la traccia dell'es
Grazie per l'aiuto![]()