Visualizzazione dei risultati da 1 a 2 su 2

Discussione: riutilizzare query

  1. #1

    riutilizzare query

    Ciao...ho un problemino...
    devo fare una ricerca in base a determinati parametri e visualizzare il frutto della ricerca.
    Mi spiego meglio...nel primo caso la ricerca è sulla targa...quindi nella pagina cercAUT.php:

    Codice PHP:
    <html> 
    <style type="text/css"> 
    @import url("fogliostile.css"); 
    </style> 
    <head> 
    <title>Cerca Autoveicolo</title> 
    </head> 
    <body> 
    <h3>[i]Scegliere Targa Autoveicolo[/i]</h3> 
    <form method="post" > 
    <table border="0"> 
    <tr> 
    <td>Targa Autoveicolo:</td> 
    <td> 
    <?php 
    echo "<select name=\"auto\">";
    $risultato=mysql_query("SELECT Targa FROM autoveicolo"$db) or die("Errore 1"); 
    $i=1
    while(
    $vet=mysql_fetch_array($risultato)) { 
    $aut[$i]=$vet[0]; $i++; 

    echo 
    "<option value\"\">seleziona</option>"
    for(
    $c=1;$c<=count($aut);$c++){ 
    echo 
    "<option value=\"$aut[$c]\">$aut[$c]</option>"

    echo 
    "</select>"
    ?> 
    </td> 
    </tr> 
    </table> 
    <input type="submit" value="Visualizza" align="absmiddle"> 
    </form> 
    <div> 
    <?php 
    $prova
    =$_POST['auto']; 
    if(isset(
    $prova)){ 
    require(
    "form4.php");
    ?> 
    </div> 
    </body> 
    </html>
    dove in form4.php prendo i valori tramite targa e li stampo in questo modo:

    Codice PHP:
    <html> 
    <style type="text/css"> 
    @import url("fogliostile.css"); 
    </style> 
    <?php 
    require("connessione.php"); 
    ?> 
    <head> 
    <title>Risultato ricerca Autoveicolo</title>
    </head> 
    <body> 
    <div align="center"> 
    <?php 
    $auto
    =$_POST['auto']; 
    $query=mysql_query("SELECT * FROM autoveicolo WHERE Targa='$auto'"$db) or die ("Errore ricerca"); 
    while(
    $row=mysql_fetch_array($query)){ 
    echo 
    "[b]Targa: ".$row[Targa]."
    [/b]"

    echo 
    "Casa Costruttrice: ".$row[Casa_Costruttrice]."
    "

    echo 
    "Modello: ".$row[Modello]."
    "

    echo 
    "Tipo: ".$row[Tipo]."
    "

    echo 
    "Data Immatricolazione: ".$row[Data_Immatricolazione]."
    "

    echo 
    "Assicurazione: ".$row[Assicurazione]."
    "

    echo 
    "Cilindrata: ".$row[Cilindrata]."
    "

    echo 
    "Velocit&agrave; Massima: ".$row[Velocita_Max]."
    "

    echo 
    "N&deg; Porte: ".$row[n_Porte]."
    "

    echo 
    "Colore: ".$row[Colore]."
    "

    echo 
    "Alimentazione: ".$row[Alimentazione]."
    "

    echo 
    "Identificativo Parco-Auto: ".$row[ID_Parco_Auto]."
    "


    ?> 
    </div> 
    </body> 
    </html>
    Fin qui funziona tutto perfettamente...

    Ora vorrei RIUTILIZZARE il form4.php ovvero il codice php precedente visto che il mio secondo tipo di ricerca si basa su un passaggio intermedio tramite ajax, ovvero scelgo prima il tipo di autoveicolo ed in base a ciò mi escono le targhe disponibili...è possibile riutilizzare il codice precedente visto che alla fine la stampa la fa sempre sulla targa?
    L'altro tipo di ricerca ha il seguente codice...ho aggiunto alla targa lo stesso nome nella select: ma non funziona posto il codice dell'altra ricerca di nome cercaTIPO.php che successivamente ricerca le targhe che corrispondono a quel tipo tramite gettipo.php

    cercaTIPO.php:

    Codice PHP:
    <html> 
    <style type="text/css"> 
    @import url("fogliostile.css"); 
    </style> 
    <head> 
    <title>Cerca Autoveicolo</title> 
    <script type="text/javascript"> 
    function showUser(str) { 
    if (str=="") { 
    document.getElementById("txtHint").innerHTML=""; 
    return; 

    if (window.XMLHttpRequest) {
    // per i browser IE7+ Firefox Chrome Safari Opera 
    xmlhttp=new XMLHttpRequest(); 

    else 
    {
    // per i browser IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 

    xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 


    xmlhttp.open("GET","gettipo.php?q="+str,true); 
    xmlhttp.send(); 

    </script> 
    </head> 
    <body> 
    <h3>[i]Scegliere Tipo Autoveicolo[/i]</h3> 
    <form method="post"> 
    <table border="0"> 
    <tr> 
    <td>Tipo:</td> 
    <td> <select name="tipo" onChange="showUser(this.value)"> 
    <?php 
    $risultato
    =mysql_query("SELECT Tipo FROM autoveicolo GROUP BY Tipo ASC"$db) or die("Errore query"); 
    $i=1
    while(
    $vet=mysql_fetch_array($risultato)) { 
    $a[$i]=$vet[0]; $i++; 

    echo 
    "<option value\"\">seleziona</option>"
    for(
    $c=1;$c<=count($a);$c++){ 
    echo 
    "<option value=\"$a[$c]\">$a[$c]</option>"
    } echo 
    "</select>"
    ?> 
    </select> 
    </td> 
    </tr> 
    <tr> 
    <td>Targa:</td> 
    <td> 
    <div id="txtHint"> [COLOR=crimson]<select name="auto"></select>[/COLOR]</div> 
    </td> 
    </tr> 
    </table> 
    <input type="submit" align="absmiddle" value="Visualizza"> 
    </form> 
    <div> 
    <?php 
    $prova
    =$_POST['auto']; 
    if(isset(
    $prova)){ 
    require(
    "form4.php");

    ?> 
    </div> 
    </body> 
    </html>
    ed infine la pagina gettipo.php:

    Codice PHP:
    <?php 
    require("connessione.php"); 
    $q=$_GET["q"]; 
    $ris=mysql_query("SELECT Targa FROM autoveicolo WHERE Tipo='$q'"$db) or die("Errore 1"); 
    echo 
    "<select name=\"tar\">";
     
    $i=1
    while(
    $vet=mysql_fetch_array($ris)) { 
    $tar[$i]=$vet[0]; $i++; 

    for(
    $c=1;$c<=count($tar);$c++){ 
    echo 
    "<option value=\"$tar[$c]\">$tar[$c]</option>"

    echo 
    "</select>"
    ?>
    grazie dell'aiuto ragazzi!

  2. #2

    RISOLTO

    Ragazzi ho risolto era una questione di assegnazione variabili...o meglio i nomi da assegnare...visto che la variabile post del form4.php era "auto" ho dovuto cambiare in gettipo.php la variabile della select invece di "tar" "auto" in questo modo... posto il codice modificato magari può servire a qualcuno:

    codice:
    <?php 
    require("connessione.php"); 
    $q=$_GET["q"]; 
    $ris=mysql_query("SELECT Targa FROM autoveicolo WHERE Tipo='$q'", $db) or die("Errore 1"); 
    echo "<select name=\"auto \">"; 
    $i=1; 
    while($vet=mysql_fetch_array($ris)) { 
    $auto [$i]=$vet[0]; $i++; 
    } 
    for($c=1;$c<=count($auto );$c++){ 
    echo "<option value=\"$auto [$c]\">$auto [$c]</option>"; 
    } 
    echo "</select>"; 
    ?>
    spero che possa essere d'aiuto come tanti vostri consigli mi sono stati utilissimi...anche se nell'ajax a cascata con 3 select ancora non riesco a farlo funzionare...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.