Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Javascript e php

  1. #1

    Javascript e php

    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

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Javascript e php

    Originariamente inviato da AngyMary
    Ho un problema con questo esercizio: non riesco a completare lo script dettagli.php....
    qualcuno può aiutarmi?


    ......

    ----------------


    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>

    ---------------------

    ...
    Ciao e benvenuta/o, non faccio fatica credirci posti in javascript quando lo script e php oltretutto dovremmo studiarci (al posto tuo) tutto per capire cosa dovresti fare dato che non lo dici, concludo ricordandoti che i titoli dovrebbero essere esplicativi.
    Auguri.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.