Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170

    funzione con doppio return

    salve,
    anticipatamente ringraziandovi della disponibilita come al solito vi espongo il mio quesito

    io ho una tabella cosi formata
    id_Categoria | Nome_Categoria |
    vorrei creare una funzione che mi ritorni un array associati dei due valori in madiera da poter sfogliaro con un ciclo del genere

    Codice PHP:
    while($row=myfunzione())
    {
    echo 
    "$row[id_Categoria] -$row[Nome_Categoria]";

    e possibile ?
    la mia funzione e la seguente
    Codice PHP:

    function getCategorie()
    {
     
    $sql="Select * From List_Categorie";
     
    $query  mysql_query($sql) or die (mysql_error);

    ma non so proprio come far ritornare i risultati per ottenere cio che voglio. come potrei fare
    ?
    per caperci ottere lo stesso risultato di
    mysql_fetch_assoc($query);
    oppure fare in modo di poter ritornare il risultato della querynudo e crudo come ad eseguirlo senza funzione

  2. #2

    Re: funzione con doppio return

    Originariamente inviato da nixxo85
    Codice PHP:

    function getCategorie()
    {
     
    $sql="Select * From List_Categorie";
     
    $query  mysql_query($sql) or die (mysql_error);

    ma non so proprio come far ritornare i risultati per ottenere cio che voglio. come potrei fare
    ?
    per caperci ottere lo stesso risultato di
    mysql_fetch_assoc($query);
    oppure fare in modo di poter ritornare il risultato della querynudo e crudo come ad eseguirlo senza funzione
    tu non devi far ritornare DUE valori...devi far ritornare ogni volta una riga dell'array restituito come risultato da MySQL...quindi:

    Codice PHP:
    $idquery mysql_query("SELECT * FROM List_Categorie");
    while ( 
    $row mysql_fetch_array($idqueryMYSQL_ASSOC) ) {
        echo 
    "{$row['id_Categoria']} - {$row['Nome_Categoria']}";

    P.S. evita di creare una funzione per una riga di codice...è inutile!
    Administrator of NAMDesign.Net

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170
    il fatto e che devo farla parecchie volte questa query e mi sembra piu facile richiamare un getCategorie che riscrivere del codice:-) nessuno potrebbi indicare come fare a risolvere il mio problema

  4. #4
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431
    Non l'ho provato, ma secondo me potrebbe funzionare un codice del genere:

    Codice PHP:
    <?

    class CategoryProvider{

           var 
    $query;
           
                    public function 
    __construct(){
                
    //Istruzioni di connessione al db
                
    $sql="Select * From List_Categorie"
                
    $this->query  mysql_query($sql) or die (mysql_error); 
           }
           
           public function 
    readNext(){
               return 
    mysql_fetch_assoc($this->query);
           }

    }

    $foo = new CategoryProvider();

    while ( 
    $row $foo->readNext() ) { 
        echo 
    "{$row['id_Categoria']} - {$row['Nome_Categoria']}"
    }


    ?>

  5. #5
    Originariamente inviato da nixxo85
    il fatto e che devo farla parecchie volte questa query e mi sembra piu facile richiamare un getCategorie che riscrivere del codice:-) nessuno potrebbi indicare come fare a risolvere il mio problema
    La soluzione del tuo problema è nel codice che ti ho scritto...
    Personalmente ritengo inutile scrivere 4 righe di codice per evitare di scrivere 1 riga...cmq puoi fare:
    Codice PHP:
    function getCategorie() {
       
    $sql="Select * From List_Categorie";
       return 
    mysql_query($sql);
    }

    function 
    myfunzione($query) {
      return 
    mysql_fetch_array($query);
    }

    $query getCategorie();
    while(
    $row=myfunzione($query)) {
       echo 
    "$row[id_Categoria] -$row[Nome_Categoria]";

    ma ripeto...è una cosa davvero inutile per non dire "stupida" scegliere di scrivere questo codice al posto di:
    Codice PHP:
    $idquery mysql_query("SELECT * FROM List_Categorie");
    while ( 
    $row mysql_fetch_array($idqueryMYSQL_ASSOC) ) {
        echo 
    "{$row['id_Categoria']} - {$row['Nome_Categoria']}";

    Administrator of NAMDesign.Net

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    anche se in parte sono d' accordo con Leader, soprattutto perchè la query in questa maniera + ingestibile nelle eccezioni, ti consiglio di provare così...
    Codice PHP:
    foreach (getCoategorie() as $row)
      {
       echo 
    "$row[id_Categoria] -$row[Nome_Categoria]";
      }



    function 
    getCategorie()
      {
      
    $result=array();
      
    $sql="Select * From List_Categorie";
      
    $query  mysql_query($sql) or die (mysql_error());
      while(
    $res=musql_fetch_ssoc($query))
        {
        
    $result[]=$res;
        }
      return 
    $result;
     } 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.