Visualizzazione dei risultati da 1 a 5 su 5

Discussione: query select multipla

  1. #1

    query select multipla

    ciao,
    io vorrei creare uno script che esegue una query su una tabella dei settori e crea una query sulle tabelle delle professioni suddivise in base all'id del settore.
    non so se mi sono spiegato molto bene....
    vi posto il codice che ho gia fatto premettendo che funziona in parte, cio'è mi crea le option della select ma mi inserisce solo 1 dato preso dalla query.
    la tabella appartiene contiene la FK della professione e la FK del settore.
    mi potete dire dove sbaglio?
    codice:
    <select name="professione" id="prof">
    <option value="scegli">Scegli una professione...</option>
    <?php
    $set = $_POST['settore'];
    $queryappartiene = "SELECT Fk_Professione FROM appartiene WHERE Fk_Settore=$set";
    $resultapp = mysql_query($queryappartiene);
    $numberapp = mysql_numrows($resultapp);
    $x = 0;
    while ($numberapp > $x) {
         $prof = mysql_result($resultapp, $x, "Fk_Professione");
         $queryprof = "SELECT * FROM professione WHERE ID=$prof";
         $resultprof = mysql_query($queryprof);
         $nome_prof = mysql_result($resultprof, $x, "Nome");
         echo '<option value="' . $prof . '">' . $nome_prof . '</option>';
         $x++;
    }
    ?>
    </select>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ma perché fai questa cosa?

    Codice PHP:
    $numberapp mysql_numrows($resultapp);
    $x 0;
    while (
    $numberapp $x) {
        
    $prof mysql_result($resultapp$x"Fk_Professione");
        ...
        
    $x++;

    Il ciclo sul risultato di una query si fa così
    Codice PHP:
    while ($row mysql_fetch_assoc($resultapp))
    {
         
    $queryprof "SELECT * FROM professione WHERE ID=".$row['Fk_Professione'];
         
    $resultprof mysql_query($queryprof);
         
    $nome_prof mysql_result($resultprof$x"Nome");
         echo 
    '<option value="' $prof '">' $nome_prof '</option>';


  3. #3
    Cosi?
    Codice PHP:
    <?php
    $queryappartiene 
    "SELECT Fk_Professione FROM appartiene WHERE Fk_Settore=3";
    $resultapp mysql_query($queryappartiene);
    $x 0;
    while (
    $row mysql_fetch_assoc($resultapp)) {
    $prof mysql_result($resultapp$x"Fk_Professione");
    $queryprof "SELECT * FROM professione WHERE ID=".$row['Fk_Professione'];
    $resultprof mysql_query($queryprof);
    $nome_prof mysql_result($resultprof$x"Nome");
    echo 
    '<option value="' $prof '">' $nome_prof '</option>';
    }
    ?>
    chiedo perchè entra in loop infinito.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    $prof = mysql_result($resultapp, $x, "Fk_Professione");

    non serve più, perché le "righe" le carica
    mysql_fetch_assoc(...)

  5. #5
    grazie mille

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.