+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Costruzione inner join

  1. #1
    luca1963 non è in linea Scolaretto
    Post
    113

    Costruzione inner join

    Buon giorno a tutti devo incrociare 2 tabelle, ma non riesco a capire come sia possibile farlo , ho provato in vari modi , ma nn riesco , a volte mi da "nessun risultato" e a volte invece mi da un risultato non coerente con la richiesta.
    Ecco il codice html della pagina di query:

    codice:
    <body>
    <table height="261" border="1">
      <tr>
        <td width="800" height="106" align="center"><header>Seleziona i dati Per la ricerca</header></td>
        </tr>
      <tr>
        <td height="147">
          <table width="183">
            <form method="post" action="RicercaMultipla.php">
                <label for="societa">Seleziona una Societa:</label>
    			<select name="societa" >
    			<option value="1">Cariplo</option>
    			<option value="4">State Street Bank</option>
    			<option value="5">Banca Intesa SPA</option>
    			<option value="7" selected="selected">Intesa San Paolo</option>
    			<option value="9">Banco di Napoli</option>	
    			</select><br />
    		<label for="ufficio">Seleziona un Ufficio:</label>
    			<select name="ufficio" >
    			<option value="4" selected="selected">Contabilita Sistemi Centrali e di Rete</option>
    			<option value="1">Sistemi Contabili di Sintesi</option>
    			<option value="5">Contabilita Sistemi Centrali e di Rete Personale</option>
                </select>	
    		
    	<section>Inserite qui il contenuto del nuovo tag section</section>				
    		    <label for="codice">Seleziona un Codice</label>
    			<select name="codice" >
    			<option value="10" selected="selected">Prima Nota Contabile</option>
    			<option value="11">Corrispondenza</option>
    			<option value="12">Recuperi Imposta Sostitutiva</option>
    			<option value="13">Ritenute Diverse</option>
    			<option value="14">Microfiches</option>
                <option value="15">Iras-Irap</option>
                <option value="17">Quietanze</option>
                <option value="18">Stipendi</option>
                <option value="19">Personale</option>
                <option value="20">Fatture/Distacchi</option>
    			</select>
    	     	<hr>
    			<input type="submit" size="7" align="right">    
    		  </form>
          </table>
         </td>
        </tr>
    </table>
    </body>
    </html>
    ed ecco il codice php per lo svilupo della query:

    Codice PHP:
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    table, th, td 
    {
     border: 1px solid black;
    }
    </style>
    </head>
    <body>
    <?php
    $hostname 
    "localhost";
    $usrname "luca63";
    $passwd "";
    $dtbase "my_luca63";
    //connessione al database
    $connessione = new mysqli($hostname$usrname$passwd$dtbase);
    //controllo connessione<form method="post">

    if ($connessione -> mysqli_error){
        die(
    "Errore connessione al database" $connessione->connect_error);


    $societa $_POST['societa'];
    $codice $_POST['codice'];
    $ufficio $_POST['ufficio'];

    //interrogazione database
    $sql ="SELECT Archivio.* , Societa.* FROM Archivio INNER JOIN Societa ON Societa.Societa=Archivio.Societa WHERE Archivio.Societa=($societa)";
    //$sql = "SELECT * FROM Archivio, Societa WHERE Societa=($societa) AND Codice=($codice)";
    //$sql = "SELECT ID, Societa, Codice, Ufficio, Dal, Al, Descrizione, Numero_Scatola FROM Archivio WHERE Societa=($societa) AND Codice=($codice)";
    //$sql = "SELECT ID, Societa, Ufficio, Dal, Al, Descrizione, Numero_Scatola FROM Archivio WHERE Archivio.Societa=7";
    $result $connessione->query($sql);
    if    (
    $result->num_rows 0)
            {
    //costruzione tabella in html
        
    echo "<centre><h3>Societa".$row[Societa]."test</centre></h3>";
        echo 
    "<centre><H4>Ricerca per societa:".$societa."</centre></H4>";
        echo 
    "<table><tr><th>Societa</th><th>Codice</th><th>Ufficio</th><th>Dal</th><th>Al</th><th>Descrizione</th><th>Numero_Scatola</th></tr>";
    // presa risultato per ogni cella
        
    while($row $result->fetch_assoc()){
            echo 
    "<tr><td>".$row[Societa]."</td><td>".$row[Codice]."</td><td>".$row[Ufficio]."</td><td>".$row[Dal]."</td><td>".$row[Al]."</td><td>".$row[Descrizione]."</td><td>".$row[Numero_Scatola]."</td</tr>";
            }
    } else { 
    echo 
    "</P>Nessun risultato";
    }
    $connessione->close();
    ?>
    Se nella riga della query gli ometto il "WHERE ...... " mi da un risultato inesatto , sempre solita ricerca , legata ad una sola società la numero 1
    mentre la terza sql da risultato esatto , ma con la cifra al posto della societa
    Ultima modifica di luca1963; 07-06-2018 09:58 

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    15,835
    Blogs
    5
    Dato che il problema è legato ad una query, non ha senso postare nell'area PHP.

    Di quale dbms parliamo?

    E poi, cosa dovrebbe fare esattamente la tua query? Su quali tabelle/campi agisce? Cosa deve ottenere?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    luca1963 non è in linea Scolaretto
    Post
    113
    ho postato qui perché se faccio la query su Mysql mi torna esatta , quindi penso che sia un errore di come impostare la query in php
    la query dovrebbe incrociare per ora due tabelle una denominata archivio ed una denominata società, dandomi una tabella con il nome della societa
    Queste due tabelli sono collegate tra loro da "Archivio.Societa" -> "Società.Societa"

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi