Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHP-MySQL] Problema query annidata

    Eccomi di nuovo qui a chiedervi di illuminarmi..
    Allora la problematica è semplice ho una chiave di ricerca $r passata con un form in una pagina precedente.
    Tramite questa variabile posso risalire alla matricola in una certa tabella rischio_individuale.
    Grazie alla matricola poi voglio prendere tre attributi (matricola,nome,cognome) dalla tabella lavoratore e listare il tutto.
    In poche parole non riesco a capire che cosa ho sbagliato.. forse è il while con doppia query annidata..

    Perchè il risultato della prima query mi serve per prelevare le info della seconda e solo dopo posso passare al successivo.

    Nota : nella tabella rischio_individuale possono esserci più matricole a cui corrispondono $r

    Codice PHP:
    <?php

    $r
    =$_POST['rischio'];

    if(
    $r==" "){
             echo 
    "

    "
    ;
             echo 
    "<center>Selezionare un criterio di ricerca.</center>";
             echo 
    "<center><a href=home_datore.php>Torna Indietro</a>";
    }else{
             echo 
    "

    "
    ;
             echo 
    "[b]<center>LAVORATORI A RISCHIO : $r[/b]</center>";
             
    $query="SELECT matricola FROM rischio_individuale WHERE fattore='$r'";
             
    $matricole=executeQuery($query);
             while(
    $mat=mysql_fetch_array($matricole)){
                          
    $query2="SELECT matricola, nome, cognome FROM lavoratore WHERE matricola='$mat'";
                         echo 
    "<div style=\"margin-top:15%;margin-left:15%;\"> ";
                       while(
    $info=mysql_fetch_array($query2)){
                                  echo 
    "[*] $info[0] $info[1] $info[2]> [url='generascheda.php?m=$info[0]&type=12'] Visualizza [/url] - [url='stampa_anagrafica.php?m=$info[0]&type=12'] Anagrafica [/url]</br> ";
                     }
                         echo 
    "</div>";
            }
        }
    ?>
    Ps.
    L'errore che ho è questo :
    Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\bla bla bla ..search_rischio.php on line 53

    La riga 53 è quella del secondo while

  2. #2
    E se facessi una cosa del genere:

    Codice PHP:
    ...
    $query "SELECT r.matricola, l.matricola, l.nome, l.cognome FROM rischio_individuale r, lavoratore l WHERE r.fattore='$r' and l.matricola = r.matricola";
    ... 
    così fai tutto con una sola query.

    P.S.
    Non l'ho provata.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Ma perchè non c'ho pensato prima ! ed io che volevo incasinarmi la vita... sei un grande ! Ovviamente funziona !!! Grazie ancora !

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.