Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Query su 2 tabelle

  1. #1

    Query su 2 tabelle

    Ciao a tutti.
    Ho un problema, ho una pagina (cerca.php) che mi mostra una tabella del db (immobili), ora ho creato una tabella identica, con la differenza del nome (immobili_utenti) e vorrei aggiungere alla pagina (cerca.php) anche quest'altra tabella, (nello stesso codice).
    se faccio : $sqltot = "SELECT * FROM immobili WHERE 1=1 "; va bene e mostra la tab immobili.
    però con FROM immobili, immobili_utenti non và.
    Aiutooo...... Grazie.
    Vi mostro la pagina (cerca.php) :

    Codice PHP:
    <?

    ob_start
    ();
    session_start();

    include(
    "../functs/config.inc.php");
    include(
    "../functs/dati_azienda.php");

    foreach(
    $_REQUEST as $chiave => $valore){
        
    $chiave $valore;
    }

    if(
    $codice!=''){
            
    $sql="SELECT id FROM immobili WHERE codice=$codice";
            
    $ris=mysql_query($sql);
            
    $row=mysql_fetch_array($ris);
            
    $idimmobile=$row['id']; // Id immobile
            
    header('Location:dettagli.php?id='.$idimmobile);
            exit;
    }

    //$pag = $_GET['pag'];
    //$pag = $pag + 0;


    // print "sesRegione1-" . $_SESSION['regione'] . "-
    ";

    //riempie variabili di sessione solo se pag = nulla segno che proviene da ricerca.php o home.php !



        
        
        // Trasformo i codici nel nome di stato,province,regioni,comuni
        if(
    $nazioni!=""){
        
    $sql="SELECT nome FROM stati WHERE codice=$nazioni";
        
    $ris=mysql_query($sql);
        
    $row=mysql_fetch_array($ris);
        
    $stato=$row['nome']; // Stato
    //    
    $_SESSION['stato'] = $stato;
        }elseif(
    $stato!=""){
    //    
    $_SESSION['stato'] = $stato;
        }
        if( 
    $_GET['regioni'] !=""){
        
    $sql="SELECT nome FROM regioni WHERE codice=".$_GET['regioni'];
        
    $ris=mysql_query($sql);
        
    $row=mysql_fetch_array($ris);
        
    $regione=$row['nome']; // Regione
        //
    $_SESSION['regione'] = $regione;
        }
        
        
        if( 
    $_GET['province'] !=""){
        
    $sql="SELECT nome FROM province WHERE codice=".$_GET['province'];
        
    $ris=mysql_query($sql);
        
    $row=mysql_fetch_array($ris);
        
    $provincia=$row['nome']; // Provincia
        //
    $_SESSION['provincia'] = $provincia;
        }
        if( 
    $_GET['comuni'] !=""){
        
    $sql="SELECT nome FROM comuni WHERE codice=".$_GET['comuni'];
        
    $ris=mysql_query($sql);
        
    $row=mysql_fetch_array($ris);
        
    $comune=$row['nome']; // Comune
        //
    $_SESSION['comune'] = $comune;
        }
        if(
    $estero=="ok"){
        //
    $_SESSION['estero'] = "ok";
        }
        
        
        


    $FinalUrl = "";
    $FinalUrl .= "&amp;categoria=" . $_GET['categoria'];
    $FinalUrl .= "&amp;nazioni=" . $_GET['nazioni'];
    $FinalUrl .= "&amp;regioni=" . $_GET['regioni'];
    $FinalUrl .= "&amp;province=" . $_GET['province'];
    $FinalUrl .= "&amp;comuni=" . $_GET['comuni'];
    $FinalUrl .= "&amp;prezzo=" . $_GET['prezzo'];
    $FinalUrl .= "&amp;contratto=" . $_GET['contratto'];





    //print "
    FinalUrl-" . $FinalUrl. "-
    ";

    $prezzodiv = split ("[/]",$prezzo);
    $prezzo1 = trim($prezzodiv[0]);
    $prezzo2 = trim($prezzodiv[1]);
    $sql = "";
    if (
    $stato != "") {
        
    $sql = $sql ." AND stato='$stato'";
    }elseif(
    $estero=="ok"){
        
    $sql = $sql ." AND stato!='Italy'";
    }else{
        //
    $sql = $sql ." AND stato='Italy'";
    }    
    if (
    $regione != "") {
        
    $sql = $sql ." AND regione='$regione'";
    }    
    if (
    $provincia != "") {
        
    $sql = $sql ." AND provincia='$provincia'";
    }        
    if (
    $comune != "") {
        
    $sql = $sql ." AND comune='$comune'";
    }    
    if (
    $categoria != "") {
        
    $sql = $sql ." AND categoria='$categoria'";
    }    
    if (
    $prezzo != "") {
        if(
    $prezzo2 != ""){
        
    $sql = $sql ." AND prezzo between '$prezzo1' and '$prezzo2'";
        }else{
        
    $sql = $sql ." AND prezzo '$prezzo1'";
        }
    }
    if (
    $contratto != "") {
        
    $sql = $sql ." AND contratto='$contratto'";
    }

    $sqlapp=$sql;


    //print "
    sql-" . $sql . "-
    ";


    $sqltot = "SELECT COUNT(*) FROM immobili WHERE 1=1";
    $sqltot = $sqltot.$sql;
    $ris_totale = mysql_query($sqltot);
    $n_ann = mysql_fetch_row($ris_totale);  //totale record
    $totale = $n_ann[0];
    $pagina = ($_GET["pag"] != "") ? (int)$_GET["pag"] : 1;
    // qui ho la pagina corrente

    $pageSize = 10;
    // quanti records per pagina?

    $begin = ($pagina-1)*$pageSize;
    // da che record inizia la pagina

    $countPages=ceil($totale/$pageSize);
    // quante pagine?

    ?>

    <!DOCTYPE html PUBLIC "
    -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <
    title><? include("../functs/dati_azienda.php"); ?></title>
    <link href="../general.css" rel="stylesheet" type="text/css" />

    <style type="text/css">
    <!--
    .Stile2 {font-weight: bold}
    -->
    </style>
    </head>

    <body>
    <?
    //print "Pagina-" . $pag. "-
    ";
    ?>
    <table width="
    950" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><? include('../testata.php'); ?></td>
      </tr>
          <tr>
          <td>
          <table width="
    100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td id="
    colsx" rowspan="2" valign="top">
                <div align="
    center">
            <? include('col_sx.php'); ?>
              </div>          </td>
            </tr>
            <tr>
              <td id="
    colcdx" align="center" valign="top">

                  


              <? if(
    $n_ann[0]!=0){  //se non esistono annunci allora...
              echo"
    <p align=\"right\" class=\"Stile10\">Sono stati trovati ".$n_ann[0]." annunci</p>";
              } 
    ?>
                    <? if($n_ann[0]!=0){  //se esistono annunci allora...
              
              //inizio visualizzazione record se esistenti
              
    ?>                        


                  <? 
              $sqltot 
    "SELECT * FROM immobili WHERE 1=1 ";
              
    $sqltot $sqltot.$sqlapp;
              
    $sqltot $sqltot." ORDER BY id DESC";
              
    $ris_totale mysql_query($sqltot);
              
    $insieme=$begin+9;
              
    $app=0;
              while(
    $ristot mysql_fetch_array($ris_totale)){ 
                  
    //INIZIO PARTE DI CODICE CHE CONTROLLA LA PRIMA IMMAGINE DISPONIBILE PER METTERLA NELL'ANTEPRIMA
                  
    if ($ristot[nomeimg1]!=''){ $foto=$ristot[nomeimg1];}
                elseif(
    $ristot[nomeimg2]!=''){ $foto=$ristot[nomeimg2];}
                elseif(
    $ristot[nomeimg3]!=''){ $foto=$ristot[nomeimg3];}
                elseif(
    $ristot[nomeimg4]!=''){ $foto=$ristot[nomeimg4];}
                elseif(
    $ristot[nomeimg5]!=''){ $foto=$ristot[nomeimg5];}
                elseif(
    $ristot[nomeimg6]!=''){ $foto=$ristot[nomeimg6];}
                elseif(
    $ristot[nomeimg7]!=''){ $foto=$ristot[nomeimg7];}
                elseif(
    $ristot[nomeimg8]!=''){ $foto=$ristot[nomeimg8];}
                elseif(
    $ristot[nomeimg9]!=''){ $foto=$ristot[nomeimg9];}
                elseif(
    $ristot[nomeimg10]!=''){ $foto=$ristot[nomeimg10];}
                elseif(
    $ristot[nomeimg11]!=''){ $foto=$ristot[nomeimg11];}
                elseif(
    $ristot[nomeimg12]!=''){ $foto=$ristot[nomeimg12];}
                elseif(
    $ristot[nomeimg13]!=''){ $foto=$ristot[nomeimg13];}
                elseif(
    $ristot[nomeimg14]!=''){ $foto=$ristot[nomeimg14];}
                elseif(
    $ristot[nomeimg15]!=''){ $foto=$ristot[nomeimg15];}
                else { 
    $foto='no_img.gif';}
                
    //FINE CODICE
              
    if($app>=$begin && $app<=$insieme){
              
    ?>
                </p>
                  <table width="95%" cellpadding="0" cellspacing="0" class="TestoNormaleNoBold">
                  <tr>
                    <td width="33%" class="sfondochiaro">
                        <div style="position:relative" align="center">
                        <a href="dettagli.php?id=<?=$ristot[id]?>&amp;pagina=<?=$pagina?>">
                        [img]../images/catalogo/<?=$foto?>[/img]</a>
                        <?

                        
                         
    if($ristot['venduto']==1) { ?>
                        <div id="Layer1">
                        <a href="dettagli.php?id=<?=$ristot[id]?>&amp;pagina=<?=$pagina?>">
                        [img]../images/venduto2.gif[/img]                    </a>                    </div>
                        <? ?>
                    [url="dettagli.php?id=<?=$ristot[id]?>&amp;pagina=<?=$pagina?>"]                    [/url]</div>                </td>
                    <td width="67%"><table width="100%" height="170" border="0" cellpadding="0" cellspacing="0" class="sfondochiaro" bordercolor="#999999">
                      <tr>
                        <td height="30" align="left" class="sfondoscuro">
                        <div style="padding-left:10px;"><?=$ristot[stato];?>,
                          <?=$ristot[regione];?>,
                          <?=$ristot[provincia];?>,
                          <? if($ristot['trattativa']==1){ echo 'Trattative riservate'; }else{ echo number_format($ristot['prezzo'], 2',''.').'&euro;'; }?>
                        </div></td>
                      </tr>
                      <tr>
                        <td height="120" align="left" valign="top" class="sfondochiaro"><div style="padding:10px;">
                          [b]<?=$ristot[titolo_ita];?>[/b]
                          

                          <?=$ristot[introduzione_ita]?>
                        </div></td>
                      </tr>
                      <tr>
                        <td height="25"><table width="450" border="0" align="right" cellpadding="0" cellspacing="0">
                          <tr>
                            <td width="190" height="20"><div align="center" class="sfondochiaro">Ref. <?=$ristot[codice]?></div></td>
                            <td width="260" height="20" class="sfondoscuro">                          <div align="center">[url="dettagli.php?id=<?=$ristot[id]?>&amp;pagina=<?=$pagina?>"][b]MAGGIORI DETTAGLI [/b][/url]</div></td>
                          </tr>
                        </table></td>
                      </tr>
                    </table></td>
                  </tr>
                </table>
                



                  
                  
                  <? }  $app=$app+1;
                  
                  }
            if(
    $countPages>1){  
                            
    //numero delle pagine !!
              
    $pg=$pagina;          
                    if(
    $pg<or $countPages<11){    // Se la pagina corrente è minore di 5 allora l'intervallo è da 1 a 10
                        
    $pgi=1;
                        
    $pgs=10;
                    }elseif(
    $pg >= 5){    // Se la pagina corrente è maggiore o uguale a 5 allora l'intervallo è da -4 a +5 ma se è oltre il limite allora è da -10 del totale a totale
                            
    if(($pg+5)>=$totale){        
                                
    $pgs=$totale;
                                
    $pgi=$totale-9;
                            }else{
                                
    $pgi=$pg-4;
                                
    $pgs=$pg+5;
                            }
                            if (
    $pgs==$countPages+1){
                                
    $pgi=$pgi-1;
                            }
                            if (
    $pgs==$countPages+2){
                                
    $pgi=$pgi-2;
                            }
                            if (
    $pgs==$countPages+3){
                                
    $pgi=$pgi-3;
                            }
                            if (
    $pgs==$countPages+4){
                                
    $pgi=$pgi-4;
                            }
                            if (
    $pgs==$countPages+5){
                                
    $pgi=$pgi-5;
                            }
                    }
                    
    $back=$pg-1;
                    
    $next=$pg+1;
                    if(
    $back==0){ $back=1; }
                    if(
    $next>$countPages){ $next=$countPages; }
                    
                    
                    
    $back .= $FinalUrl;
                    
    $next .= $FinalUrl;
                    
                     
    ?>        
                <table height="30" border="0" align="center" cellpadding="0" cellspacing="5" class="TestoNormale">
                  <tr>
                    <td width="80" bgcolor="#FF0000"><div align="center">[url="cerca.php?pag=<?=$back?>"]&lt;&lt; BACK[/url]</div></td>
                            <? while($pgs >= $pgi AND $pgi<=$countPages){ 
                            if(
    $pg==$pgi){ // se la pagina è uguale a quella in cui mi trovo colora la cella di rosso ?>
                            <td width="30" bgcolor="#FF0000">
                            <? }else{ ?>
                            <td width="30" bgcolor="#CCCCCC">
                            <? ?>
                            
                                <div align="center">[url="cerca.php?pag=<?=$pgi.$FinalUrl?>"]<?=$pgi?>[/url]</div></td>
                            <? $pgi++;
                            } 
    ?>
                    <td width="80" bgcolor="#FF0000"><div align="center">[url="cerca.php?pag=<?=$next?>"]NEXT &gt;&gt;[/url]</div></td>
                  </tr>
                </table>
                <?
                 
    //fine visualizzazione record se esistenti
             
    }
              }else{
             
              
    //inizio messaggio record non presenti
              
    echo 'To the moment they are not present immovable properties with the characteristics from her applications';
              
    //fine messaggio record non presenti
             
              
    }?>
                </p>
                </p>
                

    </p>
              

     </p></td>
            </tr>
          </table>        </td>
      </tr>
    </table>
    <? include('piepagina.php'); ?>
    </body>
    </html>

  2. #2
    non credo che si abbia animo di leggere tutto.

    diciamo un paio di cose: non usare lo short tag php <? ma quello suo vero <?php
    poi controlla le variabili in ingresso ($_GET) ... pare un po' obsoleto come script.

    per il tuo problema se hai fatto due tabelle identiche come formato allora devi usare UNION e non fare una JOIN

    codice:
    select * from pippo
    UNION
    select * from pallino

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Grazie, problema risolto.
    Scusa se ho mostrato tutta la pagina, ma onde evitare incomprensioni
    Di nuovo grazie.

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.