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

    Doppia query per rintracciare campo

    Premetto che la struttura delle tabelle interessate non è InnoDB e quindi non posso sfruttare le funzioni di foreignkey (almeno mi sembra di aver capito che funzioni così).

    Comunque, vorrei fare una query su delle tabelle del CMS Joomla.

    Una, jos_comprofiler, contiene il sesso dell'utente (è testuale per il meccanismo semi-contorto di Community Builder, estensione di Joomla).

    L'altra, jos_users, contiene la mail dell'utente.

    Come posso quindi mostrare le mail di tutti gli utenti maschi?

    Prendendo qualcosa dal web ho fatto così:

    Codice PHP:
    // Performing SQL query
    $query "SELECT id FROM jos_comprofiler WHERE cb_sesso LIKE 'Uomo'";
    $result mysql_query($query) or die('Query failed: ' mysql_error());

    while (
    $ris mysql_fetch_array($resultMYSQL_ASSOC)) {
        
    $resultqpar = array();
        foreach (
    $ris as $risn) {
    //per ogni risultato della query precedente (ogni uomo) faccio una select sulla tabella utenti ed aggiungo il risultato all'array resultqpar
            
    $qproc "SELECT email FROM jos_users WHERE id = $risn";
            
    $resultqp mysql_query($qproc) or die('Query failed: ' mysql_error());        
            
    $resultqpf mysql_fetch_array($resultqp);        

            
    $resultqpar[] = $resultqpf;
            
    mysql_free_result($resultqp);
        }

    }




    // Printing results in HTML

    echo "<table>\n";
        echo 
    "\t<tr>\n";
        foreach (
    $resultqpar as $col_value) {
            echo 
    "\t\t<td>$col_value</td>\n";
        }
        echo 
    "\t</tr>\n";

    echo 
    "</table>\n";

    // Free resultset
    mysql_free_result($result); 
    ma nella pagina compare solo "Array"

    Siccome da niubbo immagino di aver complicato moltissimo il procedimento, insultatemi pure

  2. #2
    Io farei così, poi te li gestisci come vuoi:



    Codice PHP:


    //seleziono i sessi maschi
    $query mysql_query("SELECT id FROM jos_comprofiler WHERE cb_sesso LIKE 'Uomo'");
    $row=mysql_num_rows($query);

    $mail=array();
    $id=array();
    //per ogni sesso maschio rpendo il corrispettiva e-mail
    for ($i=0$row $i$i++){

    $id=mysql_result($query,$i,"id");

    $query2=mysql_query("SELECT email FROM jos_users WHERE id = $id");

    $assoc=mysql_fetch_assoc($query2);
    $mail=$assoc['email'];

    $mail[] = $mail;
    $id[] = $id;

    }
    echo 
    "<table>";

    foreach (
    $mail as $this){

        echo 
    "<tr>
                <td>
    $this</td>

            </tr>"
    ;

    }


    echo 
    "</table>" 
    Che mondo sarebbe senza Nutella.

    PHP/MYSQL/HTML/CSS/JAVASCRIPT

  3. #3
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Grazie ad entrambi, immaginavo ci fosse una funzione come join che potesse semplificarmi la vita!

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.