Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804

    estrarre l da un id il nome record dentro la funzione

    sale come sempre vi chiedo aiuto ho una funzione che estraggo i dati degli amministratori sarebbe a dire nome cogniome gruppoid email ecc ecc..... adesso io dal l id del gruppo dovrei risalire al nome del gruppo cosa fare ????

    questa e la funzione:
    Codice PHP:
    function GetStaff()
    {
      global 
    $dbcore;
      global 
    $settings;
      
    $sql mysql_query("select * from tech order by displayorder asc") or die(mysql_error());
      
    $return = array();
      while (
    $row mysql_fetch_assoc($sql))
      {
        
    $return[] = $row;
      }
      return 
    $return;

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    ....e il nome del gruppo in che tabella si trova?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ciao il nome del gruppo si trova nella tabella groupstaff
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497

    Re: estrarre l da un id il nome record dentro la funzione

    Originariamente inviato da rocco.mod
    sale come sempre vi chiedo aiuto ho una funzione che estraggo i dati degli amministratori sarebbe a dire nome cogniome gruppoid email ecc ecc..... adesso io dal l id del gruppo dovrei risalire al nome del gruppo cosa fare ????

    questa e la funzione:
    Codice PHP:
    function GetStaff()
    {
      global 
    $dbcore;
      global 
    $settings;
      
    $sql mysql_query("select * from tech order by displayorder asc") or die(mysql_error());
      
    $return = array();
      while (
    $row mysql_fetch_assoc($sql))
      {
        
    $return[] = $row;
      }
      return 
    $return;

    La funzione mysql_fetch_assoc come la funzione mysql_fetch_array traduce in un array associtivo la tabella di dati.

    COnsidera di avere un array multidimensionale a 2 dimensioni al quale puoi accere sia con indici interi che con le etichette.


    ti faccio esempio :

    Se hai una tabella come

    table prova
    id int auto increment .....
    etichetta text


    Quando esegui al query
    select * from prova

    lui usera' un puntatore alla struttura dati.
    quindi
    while( $riga = mysql_fetch_array($dati) )
    {
    /*
    scorre tutte le righe di dati e a
    ogni ciclo si sposta sulla ria successiva
    Se nn ci sono piu' righe restituisce false e il ciclo termina
    */

    var_dump($riga);
    echo "<hr />";
    /*
    Stampera' il contenuto della variabile $riga e vedrai tutti i campi.

    Per accedere al dato della riga corrente/colonna etichetta
    */
    echo "
    ETICHETTA: ".$riga['etichetta']."<hr />";

    }

    Questa tecnica si usa insieme allla query che devi fare quindi sulla query puoispecificare tti i tipi di select che vuoi.I dati tabellari verranno sempre tradotti in array associativi in php.

    se devi caricari dati ch stanno da un'altra parte puoi usare o sottoselect oppure join e li bisogna smanacciare con l'sql.

    Esempio

    table prova
    id int auto increment .....
    etichetta text
    categoria int

    table categorie
    id int .....
    etichetta text ...

    COme vedi ho aggiunto al tabella categorie Ogni categoria ha un id e un'etichetta
    Se voglio vedere che categoria ha un dato nella tabella prova faro' una cosa come :

    select p.id pid , p.etichetta p_etichetta , c.id cid , c.etichetta c_etichetta
    from prova p
    left join categorie c
    on p.etichetta = c.id

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ciao ho provato e non va ma vedi che e dentro una funzione che deve fare tutto ciò
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Beh ovviamente era un esempio e devi usarlo come tale.

    Nel tuo sistema / funzione devi modificare i riferimenti per farli stampare correttamente.

    Le tabelle inoltre sono solo scritte cosi' per capire non sono assolutamente in sql .


    quello che potresti fare e' una cosa dele genere

    Codice PHP:

     $sql 
    mysql_query("select * from tech order by displayorder asc") or die(mysql_error()); 


    function 
    stampaDati$dati $opzioni=null )
    {

         
    //ho saltato tti i controlli quelli te li scrivi in base alle tue necessita'

         
    while( $curr mysql_fetch_array($dati) )
         {
              foreach( 
    $curr as $n=>$v )
              {
                   echo 
    "
    "
    .$n.": ".$v;

              }
         }



    una funzione del genere stampa i dati di un risultato di query sql.
    Ovviamente dovrai metterci le mani e sistemare qlkosina.

  7. #7
    Codice PHP:

    function GetStaff() {   

    global 
    $dbcore;   
    global 
    $settings;   
    $sql mysql_query("SELECT * FROM tech ORDER displayorder ASC") or die(mysql_error());      
    while (
    $row mysql_fetch_array($sql))   {     

          
    $idgruppo $row['idgruppo'];
          
    $sql1 mysql_query("SELECT nomegruppo FROM groupstaff WHERE idgruppo = '$idgruppo'") or die(mysql_error());
          
    $row1 mysql_fetch_array($sql1);
          
    $nomi_dei_gruppi[] = $row1['nomegruppo'];  
          
    }   

    return 
    $nomi_dei_gruppi; } 
    prova cosi, adattalo al tuo codice, dovrebbe andare anche se non è proprio ottimale....si puo fare di meglio

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Ma scusa a sto punto nn ti conviene mettere tto su una query con una join????

    Eviti di dover eseguire 200 query con tanto di ricerca etc


    "SELECT t.* , g.nomegruppo as g_nomegruppo FROM tech t

    left join

    groupstaff g on t.idgruppo = g.id

    ORDER t.displayorder ASC"

    In una query fai tutto e fondi i dati in una unica tabella.

    Poi passi il risultato ad una funzione come quella scritta sopra e il gioco e' fatto.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    grazie ragazi perfetto ho fatto cosi
    Codice PHP:
    function GetStaff()
    {
      global 
    $dbcore;
      global 
    $settings ;
      
      
    $sql mysql_query("select t. *  , gs. nome_group from tech t  left join groupstaff gs  on  t. groupid = gs. id_groups  order by t.displayorder asc ") or die(mysql_error());
      
    $return = array();
      while (
    $row mysql_fetch_assoc($sql))
      {
        
    $return[] = $row;
      }
     return 
    $return;  
     

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

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.