Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Return e funzioni.

  1. #1
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441

    Return e funzioni.

    Ho questa funzione:

    Codice PHP:
    function c() {
        global 
    $idsp;
        
    $sql "SELECT * FROM commenti ORDER BY IDC ASC"
        
    $query mysql_query($sql);
        while (
    $row mysql_fetch_assoc($query)) {
            
    $quote $row['TESTO'];
            
    $commento "<div id='div67'>$quote</div>";
                return 
    $commento;
        }        

    In breve, vengono attribuiti diversi valori alla variabile $quote che poi viene stampata con $commento, se al posto di return mettessi echo x esempio, mi stamperebbe tutti i valori, però io dovrei usare la funzione return...non credo di essermi spiegato bene, però chi crede di aver capito, mi dia una dritta, altrimenti mi spiego meglio.
    (Così com'è mi viene stampato solo il primo valore)

  2. #2
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    salva la stringa in un array, per poi utilizzare return su di esso.
    ovviamente il return va messo FUORI il ciclo.

  3. #3
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    Ok, credo di aver capito, però non so che funzione potrei usare... explode?
    Ho fatto così, però mi viene stampata la scritta array.

    codice:
    function c() { 
        global $idsp; 
        $sql = "SELECT * FROM commenti ORDER BY IDC ASC";  
        $query = mysql_query($sql); 
        while ($row = mysql_fetch_assoc($query)) { 
            $quote = $row['TESTO']; 
           $comarr = explode(' ',$commento);
    	}
            return ($comarr);   
    }

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Per stampare il contenuto di un array non puoi fare semplicemente
    echo $comarr;

    devi usare un for se sai quanti elementi contiene e vuoi stamparne solo alcuni, oppure foreach che non richiede che tu sappia di quanti elementi è composto l'array

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Integro: puoi anche non usare un ciclo, ma devi specificare quale elemento dell'array stampare
    echo $comarr[...];

    E aggiungo:
    $comarr = explode(' ',$commento);

    dentro $comarr non ci sarà niente perché $commento non è valorizzata da nessuna parte, è una variabile vuota.

  6. #6
    Originariamente inviato da andbaz
    Ok, credo di aver capito, però non so che funzione potrei usare... explode?
    Ho fatto così, però mi viene stampata la scritta array.

    codice:
    function c() { 
        global $idsp; 
        $sql = "SELECT * FROM commenti ORDER BY IDC ASC";  
        $query = mysql_query($sql); 
        while ($row = mysql_fetch_assoc($query)) { 
            $quote = $row['TESTO']; 
           $comarr = explode(' ',$commento);
    	}
            return ($comarr);   
    }
    Io ti consiglierei di lasciar perdere la programmazione in generale perchè non hai proprio il concetto logico di come funzionino le cose. Cos'è $idsp dove la usi? Cosa ci fai con $quote? E $commento da dove spunta fuori? Cosa centra la funzione explode()?!?!?!


    Codice PHP:
    function c() { 
        
    $sql "SELECT * FROM commenti ORDER BY IDC ASC";  
        
    $query mysql_query($sql); 
        
    $ret = Array();
        while (
    $row mysql_fetch_assoc($query)) { 
            
    $quote $row['TESTO'];
            
    $ret[] = "<div id='div67'>$quote</div>"
        }
        return 
    $ret;   

    A questo punto la funzione c() ti restituisce un array contenente tutti i commenti.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di andbaz
    Registrato dal
    Jul 2011
    Messaggi
    441
    Grazie x il consiglio uomo dei consigli, cmq la soluzione finale alla fine era questa x la cronaca, grazie x l'aiuto:

    Codice PHP:
    function c() {  
        
    $sql "SELECT * FROM commenti ORDER BY IDC ASC";   
        
    $query mysql_query($sql);  
        
    $ret = Array(); 
        while (
    $row mysql_fetch_assoc($query)) {  
            
    $quote $row['TESTO']; 
            
    $ret[] = "<div id='div67'>$quote</div>";  
        } 
        return 
    implode(' ',$ret);


  8. #8
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    ma in questo caso utilizzare l'array è inutile.
    ti basta concatenare le stringhe.

    non hai proprio il concetto logico di come funzionino le cose.

  9. #9
    Originariamente inviato da Laxus
    ma in questo caso utilizzare l'array è inutile.
    ti basta concatenare le stringhe.
    Ovviamente aggiungendoci l'implode() esso diventa inutile, ma nell'esempio postato da me veniva restituito l'array stesso in quanto mi era sembrato di capire che fosse ciò che si richiedeva.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    ma nell'esempio postato da me veniva restituito l'array stesso in quanto mi era sembrato di capire che fosse ciò che si richiedeva.
    lo so', era quello che avevo capito pure io

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.