• User Attivo

    @Samyorn said:

    Allora dovrai fare una subquery, solo che mi sfugge qualcosa credo, nella query ti tiri fuori il valore di id_azienda, ma se già lo sai che azienda è....:?

    aspetta, provo a mostrarti brevemente i codici:

    1° file) archivio_dip1.php

    $query="SELECT * FROM tbl_users WHERE user_name='".$_SESSION['logged'][0]."'" ;
    $result = mysql_query($query,$connessione);
    $row = mysql_fetch_array($result);
    $userid = $row[0];
    print "<br>";
    print "utente n° "."$userid"."<br>";

    $azie = "SELECT * FROM anag_ditta WHERE id_utenteee= $userid order by ragione_sociale";
    $result = mysql_query($azie,$connessione);
    while($row = mysql_fetch_array($result)) {
    echo "<br>";

    echo "<a href="archivio_dip2.php?tipo=" . $row[2] . ""><b>".$row[2]."</b></a>";
    //DA QUI SELEZIONO L'AZIENDA

    2° file) archivio_dip2.php

    $tipo=$_GET['tipo'];
    print "<br>";
    print "ditta: "."$tipo"."<br>"; //stampa l'azienda

    //recupero i dati dell'archivio dipendenti dal database
    $dipe = "SELECT * FROM anag_dip WHERE id_azienda= '$tipo' order by cognome";
    $result3 = mysql_query($dipe,$connessione);
    while($row3 = mysql_fetch_array($result3)) {
    echo "<br>";
    //$row3[3]= stampa tutti i dipendenti

    echo "dip: "."<a href="dettaglio_dipe.php? tipo2=" . $row3[3] . ""><b>".$row3[3]."&nbsp".$row3[4]."</b></a>";

    3° file) dettaglio.dipe.php

    $tipo2=$_GET['tipo2'];

    $prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2'" ;
    $prova2 = mysql_query($prova1,$connessione);
    $prova3 = mysql_fetch_array($prova2);
    $userid4 = $prova3[0];
    print "<br>";
    print "azienda: "."$userid4"."<br>";//E' QUESTA VARIABILE CHE NON VA BENE

    $dipe = "SELECT * FROM anag_dip WHERE cognome = '$tipo2' and id_azienda = '$userid4'";

    $result = mysql_query($dipe,$connessione);
    while($row = mysql_fetch_array($result)) {

    print $row[4];

    ecc . ecc...

    Lo so, è tutto un po' incasinato, ma il problema è questa variabile $userid4.
    In realtà vorrei che vedessi il nome dell'azienda e i dati dipendente il cui cognome fa parte di quella azienda.
    Invece (come mi sta succedendo), nel caso di 2 cognomi uguali in aziende diverse, mi stampa la prima che trova e i relativi dati del dipendente a cui fa parte, e io voglio quelli dell'azienda selezionata...
    Mi spiego?


  • Consiglio Direttivo

    Se le inserisci così per il futuro si capisce meglio 😉
    1° file) archivio_dip1.php
    [php]$query="SELECT * FROM tbl_users WHERE user_name='".$_SESSION['logged'][0]."'" ;
    $result = mysql_query($query,$connessione);
    $row = mysql_fetch_array($result);
    $userid = $row[0];
    print "<br>";
    print "utente n° "."$userid"."<br>";

    $azie = "SELECT * FROM anag_ditta WHERE id_utenteee= $userid order by ragione_sociale";
    $result = mysql_query($azie,$connessione);
    while($row = mysql_fetch_array($result)) {
    echo "<br>";

    echo "<a href="archivio_dip2.php?tipo=" . $row[2] . ""><b>".$row[2]."</b></a>";
    //DA QUI SELEZIONO L'AZIENDA..ok
    [/php]

    2° file) archivio_dip2.php
    [php]$tipo=$_GET['tipo'];
    print "<br>";
    print "ditta: "."$tipo"."<br>"; //stampa l'azienda

    //recupero i dati dell'archivio dipendenti dal database
    $dipe = "SELECT * FROM anag_dip WHERE id_azienda= '$tipo' order by cognome";
    $result3 = mysql_query($dipe,$connessione);
    while($row3 = mysql_fetch_array($result3)) {
    echo "<br>";
    //$row3[3]= stampa tutti i dipendenti

    echo "dip: "."<a href="dettaglio_dipe.php? tipo2=".$row3[3]."?tipo=".$tipo.""><b>".$row3[3]."&nbsp".$row3[4]."</b></a>"; //modificalo così
    [/php]

    3° file) dettaglio.dipe.php
    [php]$tipo=$_GET['tipo']; // aggiungi questo
    $tipo2=$_GET['tipo2'];

    $prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2' AND id_azienda=(SELECT user_id FROM anag_ditta WHERE ragione_sociale='$tipo')" ; // varia questo
    $prova2 = mysql_query($prova1,$connessione);
    $prova3 = mysql_fetch_array($prova2);
    $userid4 = $prova3[0];
    print "<br>";
    print "azienda: "."$userid4"."<br>"; // credo dovrebbe andare adesso

    $dipe = "SELECT * FROM anag_dip WHERE cognome = '$tipo2' and id_azienda = '$userid4'";

    $result = mysql_query($dipe,$connessione);
    while($row = mysql_fetch_array($result)) {

    print $row[4];

    ecc . ecc...
    [/php]
    Credo ora dovrebbe andare 😄


  • User Attivo

    @Samyorn said:

    Se le inserisci così per il futuro si capisce meglio 😉
    1° file) archivio_dip1.php
    [php]$query="SELECT * FROM tbl_users WHERE user_name='".$_SESSION['logged'][0]."'" ;
    $result = mysql_query($query,$connessione);
    $row = mysql_fetch_array($result);
    $userid = $row[0];
    print "<br>";
    print "utente n° "."$userid"."<br>";

    $azie = "SELECT * FROM anag_ditta WHERE id_utenteee= $userid order by ragione_sociale";
    $result = mysql_query($azie,$connessione);
    while($row = mysql_fetch_array($result)) {
    echo "<br>";

    echo "<a href="archivio_dip2.php?tipo=" . $row[2] . ""><b>".$row[2]."</b></a>";
    //DA QUI SELEZIONO L'AZIENDA..ok
    [/php]

    2° file) archivio_dip2.php
    [php]$tipo=$_GET['tipo'];
    print "<br>";
    print "ditta: "."$tipo"."<br>"; //stampa l'azienda

    //recupero i dati dell'archivio dipendenti dal database
    $dipe = "SELECT * FROM anag_dip WHERE id_azienda= '$tipo' order by cognome";
    $result3 = mysql_query($dipe,$connessione);
    while($row3 = mysql_fetch_array($result3)) {
    echo "<br>";
    //$row3[3]= stampa tutti i dipendenti

    echo "dip: "."<a href="dettaglio_dipe.php? tipo2=".$row3[3]."?tipo=".$tipo.""><b>".$row3[3]."&nbsp".$row3[4]."</b></a>"; //modificalo così
    [/php]

    3° file) dettaglio.dipe.php
    [php]$tipo=$_GET['tipo']; // aggiungi questo
    $tipo2=$_GET['tipo2'];

    $prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2' AND id_azienda=(SELECT user_id FROM anag_ditta WHERE ragione_sociale='$tipo')" ; // varia questo
    $prova2 = mysql_query($prova1,$connessione);
    $prova3 = mysql_fetch_array($prova2);
    $userid4 = $prova3[0];
    print "<br>";
    print "azienda: "."$userid4"."<br>"; // credo dovrebbe andare adesso

    $dipe = "SELECT * FROM anag_dip WHERE cognome = '$tipo2' and id_azienda = '$userid4'";

    $result = mysql_query($dipe,$connessione);
    while($row = mysql_fetch_array($result)) {

    print $row[4];

    ecc . ecc...
    [/php]
    Credo ora dovrebbe andare 😄

    cavolo, non avrei potuto mai ragionare cos' bene... Pero' mi da un errore:

    Notice: Undefined index: tipo in C:\Programmi\EasyPHP 2.0b1\www\pagina privata con SESSIONI-prova smanetto\dettaglio_dipe.php on line 62

    azienda:
    dipendente beviglia?tipo=Rnc sas

    La riga 62 è dove c'è $tipo=$_GET['tipo'];


  • User Attivo

    @maubox8 said:

    cavolo, non avrei potuto mai ragionare così bene... Pero' mi da un errore:

    Notice: Undefined index: tipo in C:\Programmi\EasyPHP 2.0b1\www\pagina privata con SESSIONI-prova smanetto\dettaglio_dipe.php on line 62

    azienda:
    dipendente beviglia?tipo=Rnc sas

    La riga 62 è dove c'è $tipo=$_GET['tipo'];

    probabilmente c'è qualcosa che non va nel passaggio di archivio_dip2.php:
    echo "dip: "."<a href="dettaglio_dipe.php? tipo2=".$row3[3]."?tipo=".$tipo.""><b>".$row3[3]."&nbsp".$row3[4]."</b></a>";


  • Consiglio Direttivo

    Si perchè ho sbagliato 😄
    varia questo:
    [php]...dettaglio_dipe.php?tipo2=".$row3[3]."&tipo=".$tipo."...[/php]


  • User Attivo

    @Samyorn said:

    Si perchè ho sbagliato 😄
    varia questo:
    [php]...dettaglio_dipe.php?tipo2=".$row3[3]."&tipo=".$tipo."...[/php]

    grazie...stavo lavorando proprio su quello! Ora non da più errore pero' ora non mi stampa il nome dell'azienda, mi stampa solo il cognome dipendente e senza i dettagli...
    😞


  • User Attivo

    trovato!
    Dovevo mettere ragione_sociale anzichè user_id

    $prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2' AND id_azienda=(SELECT ragione_sociale FROM anag_ditta WHERE ragione_sociale='$tipo')" ;

    Grazie! Sei un grande!!
    Vorrei essere al tuo livello!


  • Consiglio Direttivo

    @maubox8 said:

    trovato!
    Dovevo mettere ragione_sociale anzichè user_id

    $prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2' AND id_azienda=(SELECT ragione_sociale FROM anag_ditta WHERE ragione_sociale='$tipo')";
    :mmm: scusa id_azienda di anag_dip è ragione_sociale di anag_ditta??
    credevo fosse user_id di anag_ditta.....:?
    se id_azienda di anag_dip è ragione_sociale di anag_ditta allora puoi evitare la subquery e scrivere direttamente:
    [php]$prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2' AND id_azienda='$tipo'";[/php]

    @maubox8 said:

    Grazie! Sei un grande!!
    Vorrei essere al tuo livello!😊


  • User Attivo

    @Samyorn said:

    :mmm: scusa id_azienda di anag_dip è ragione_sociale di anag_ditta??
    credevo fosse user_id di anag_ditta.....:?
    se id_azienda di anag_dip è ragione_sociale di anag_ditta allora puoi evitare la subquery e scrivere direttamente:
    [php]$prova1="SELECT id_azienda FROM anag_dip WHERE cognome='$tipo2' AND id_azienda='$tipo'";[/php]

    😊

    esattamente!
    Perfetto, ho tolto la subquery!
    Grazie ancora!


  • Consiglio Direttivo

    de nada 😉