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

Discussione: Array di array

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025

    Array di array

    Salve.
    Sto cercando, con una funzione, di far ritornare i valori di un array, che contiene a sua volta altri array.
    nel listato qui sotto $articoli e $titoli sono array:

    $articoli = getArt($cn);
    $titoli = getTitoloArt($cn);

    poi ho creato un array che contenga gli altri array:

    $lista = array($articoli, $titoli);

    Vorrei poter quindi fare un ritorno multiplo di una funzione, in questo caso un ritorno multiplo di array:

    return $lista;

    Come posso fare? Ho fatto dei tentativi ma non ci sono riuscito.

  2. #2

    Re: Array di array

    Originariamente inviato da Ironmax
    Salve.
    Sto cercando, con una funzione, di far ritornare i valori di un array, che contiene a sua volta altri array.
    nel listato qui sotto $articoli e $titoli sono array:

    $articoli = getArt($cn);
    $titoli = getTitoloArt($cn);

    poi ho creato un array che contenga gli altri array:

    $lista = array($articoli, $titoli);

    Vorrei poter quindi fare un ritorno multiplo di una funzione, in questo caso un ritorno multiplo di array:

    return $lista;

    Come posso fare? Ho fatto dei tentativi ma non ci sono riuscito.
    Non ci ho capito nulla
    Forse è meglio se posti il codice.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025
    Questo qui sotto e ciò che dovrebbe concatenare gli array $articoli e $titoli
    function getArticoli()
    {

    $cn = mysql_connect('localhost', 'root', '');
    mysql_select_db('mvc', $cn);

    require_once 'query/query.php';
    $articoli = getArt($cn);
    $titoli = getTitoloArt($cn);

    mysql_close();
    //sotto controllo per vedere se l'array e vuoto o no
    articoli($articoli);
    titoli($titoli);

    $lista = array($articoli, $titoli);

    $conta = count($lista);

    for ($i = 0; $i < $conta; $i++) {

    $concatena = $lista[$i];
    $concatena = "".$concatena;
    echo $concatena;
    }
    return $concatena;
    }

    --------------------------------------------------
    è dall'altra parte della vista dovrebbe poi stamparli:

    <?php require_once 'model/Model.php';?>
    <h1>Listato di Articoli</h1>
    <table>
    <tr> <th>Data</th> <th>Titolo</th> </tr>

    <?php foreach($articoli as $articolo): ?>
    <tr>
    <td><?php echo $articolo['data']?></td>
    <td><?php echo $articolo['titolo']?></td>

    </tr>
    <?php endforeach;?>
    </table>

    <table>
    <?php foreach($titoli as $titolo): ?>
    <tr>
    <td><?php echo $titolo['titolo']?></td>
    </tr>
    <?php endforeach;?>
    </table>

  4. #4
    non è chiaro ciò che chiedi.

    1) quale è la struttura dell'array restituito da getArt() ?
    2) quale è la struttura dell'array restituito da getTitoloArt() ?
    3) quale dovrebbe essere la struttura dell'array che vuoi ottenere? (quello che tu chiami "concatenato")
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025
    non è chiaro ciò che chiedi.
    1) quale è la struttura dell'array restituito da getArt() ?
    2) quale è la struttura dell'array restituito da getTitoloArt() ?
    3) quale dovrebbe essere la struttura dell'array che vuoi ottenere? (quello che tu chiami "concatenato")
    Qua sotto ci sono le due funzioni con i rispettivi valori di ritorno:

    function getArt($cn){
    $risultato = mysql_query('SELECT data, titolo FROM articolo', $cn);
    $articoli = array();

    while($articolo = mysql_fetch_assoc($risultato))
    {
    $articoli[] = $articolo;
    }
    return $articoli;
    }
    //--
    function getTitoloArt($cn){
    $risultato = mysql_query('SELECT titolo FROM articolo', $cn);
    $titoli = array();

    while($titolo = mysql_fetch_assoc($risultato))
    {
    $titoli[] = $titolo;
    }
    return $titoli;
    }
    -----------------------------------
    Per la struttura che vorrei ottenere e questa sotto:

    $lista = array($articoli, $titoli);

    E vorrei poter estrarre dalla $lista passando ad una vista, vista intesa come stampa a video, i singoli array.

    Uno è l'array $articoli:

    <?php foreach($articoli as $articolo): ?>
    <tr>
    <td><?php echo $articolo['data']?></td>
    <td><?php echo $articolo['titolo']?></td>

    </tr>
    <?php endforeach;?>


    e per l'array $titoli:

    <?php foreach($titoli as $titolo): ?>
    <tr>
    <td><?php echo $titolo['titolo']?></td>
    </tr>
    <?php endforeach;?>

  6. #6
    Non ha senso fare due query la seconda delle quali estrae qualcosa che già hai in $articoli.

    Domanda: cosa vuoi stampare a video?
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  7. #7
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025
    Allora:
    1 Ho un array chiamato $list.

    2 L'array chiamato $list contiene due array uno chiamato $articoli ed uno chiamato $titoli, descritto qui di fianco: $list = array($articoli, $titoli);

    3 Voglio stampare il contenuto rispettivamente dell'array $articoli e dell'array $titoli

    4 Quanti cicli, e che tipo di cicli devo scrivere perchè posso stampare a video il contenuto dei due array, che come si può notare, sono all'interno dell'array $list?

    Più di questo non riesco a spiegarmi.

  8. #8
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Non bado più al fatto di quali miglioramenti/sviste/errori logici ci possano essere, te lo ha già accennato oly1982,
    Originariamente inviato da oly1982
    Non ha senso fare due query la seconda delle quali estrae qualcosa che già hai in $articoli
    se poi ti interessa fare qualcosa di meglio stà solo a te deciderlo..
    Mi limito a rispondere al problema in oggetto

    3 Voglio stampare il contenuto rispettivamente dell'array $articoli e dell'array $titoli
    Se ben ho capito il tuo problema principale, tu hai un array di questo tipo:
    Codice PHP:
    $lista = array(
       array(
    'articolo 1''articolo 2''articolo 3'),
       array(
    'titolo 1''titolo 2''titolo 3')

    ); 
    e banalmente, tu chiedi come iterare i due array:
    Codice PHP:
    foreach($lista[0] as $articoli) {}

    foreach(
    $lista[1] as $titoli) {} 

  9. #9
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025
    Non bado più al fatto di quali miglioramenti/sviste/errori logici ci possano essere, te lo ha già accennato oly1982,
    1 Allora voglio precisare che sto facendo delle prove. E non mi interessa sapere se metto doppioni o no!


    e banalmente, tu chiedi come iterare i due array:
    2 Di banale non c'è mai niente!

    3 Forse non hai capito la domanda che ti ho posto, o seno mi avresti dato un'altra risposta! O non ti saresti limitato!

    4 Per farti capire questo qui sotto è il codice che ho scritto io:

    $lista_array=getArticoli();

    for ($i=0; $i<count($lista_array); $i++)
    {
    foreach($lista_array[$i] as $articolo){
    echo $articolo['data'];
    echo $articolo['titolo'];
    echo $articolo['id'];
    }
    }
    Ti sei reso conto che una funzione può restituire più valori sotto forma di array di array?

    Spero di essere stato chiaro, so le difficolta della comunicazione ma quando scrivo a lettere cubitali il titolo di questo post, non sò più che altro dire.

  10. #10
    Originariamente inviato da Ironmax
    1 Allora voglio precisare che sto facendo delle prove. E non mi interessa sapere se metto doppioni o no!



    2 Di banale non c'è mai niente!

    3 Forse non hai capito la domanda che ti ho posto, o seno mi avresti dato un'altra risposta! O non ti saresti limitato!

    4 Per farti capire questo qui sotto è il codice che ho scritto io:

    $lista_array=getArticoli();

    for ($i=0; $i<count($lista_array); $i++)
    {
    foreach($lista_array[$i] as $articolo){
    echo $articolo['data'];
    echo $articolo['titolo'];
    echo $articolo['id'];
    }
    }
    Ti sei reso conto che una funzione può restituire più valori sotto forma di array di array?

    Spero di essere stato chiaro, so le difficolta della comunicazione ma quando scrivo a lettere cubitali il titolo di questo post, non sò più che altro dire.
    A me sembra che oltre a non saperti esprimere, dato che le tue richieste vanno sempre interpretate visto il linguaggio ben poco tecnologico da te utilizzato per esprimere concetti spesso semplicissimi, oltre a non conoscere le basi minime di PHP (ma di qualsiasi altro linguaggio di programmazione) dato che basterebbero queste per ciclare e visualizzare il contenuto di un paio di array, non riesci neanche ad afferrare il senso delle risposte che ti vengono fornite, perchè se così non fosse avresti capito che ciò che ti ha postato .Kurt è esattamente la soluzione al problema che hai dichiarato!!! Viste le tue testuali parole (sempre se l'italiano, come ormai molto spesso accade, non è un'opinione:

    Originariamente inviato da Ironmax
    4 Quanti cicli, e che tipo di cicli devo scrivere perchè posso stampare a video il contenuto dei due array, che come si può notare, sono all'interno dell'array $list?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.