• User

    prova a fare

    print_r($sTitle);

    vedi un po' che cosa ti restituisce... in pratica ti sta dicendo che sTitle è un array quindi non può essere stampata con echo...


  • User Newbie

    Hai ragione!! come posso invece rendere $sTitle una variabile con solamente dentro il titolo? sbaglio nella dichiarazione dell'array??


  • User

    cosa ti restituisce $sTitle? quando lo stampi con print_r ?


  • User Newbie

    il segmento è questo

    foreach ($aUnits as $sFilename=>$sTitle) {
    echo"<br>".$sFilename."/";
    print_r($sTitle);
    }
    

    e mi restituisce:

    1/Array (     [1] => Besugo ) 
    2/Array (     [28] => prova ) 
    3/Array (     [15] => test1 ) 
    4/Array (     [16] => test Friday ) 
    5/Array (     [17] => upload1 ) 
    6/Array (     [18] => upload2 ) 
    7/Array (     [19] => upload3 ) 
    8/Array (     [22] => prova ) 
    9/Array (     [24] => test Monday ) 
    10/Array (     [29] => when love takes over ) 
    11/Array (     [26] => prova2 ) 
    12/Array (     [27] => titolo dell mp3 ) 
    13/Array (     [31] => Samoyed ) 
    14/Array (     [32] => puzzle ) 
    15/Array (     [33] => paint red ) 
    16/Array (     [34] => Snow ) 
    17/Array (     [35] => Prima immagine quadrata ) 
    18/Array (     [36] => Prima immagine quadrata ) 
    19/Array (     [37] => ciao 1 ) 
    20/Array (     [38] => canzone 1 ) 
    21/Array (     [39] => FAQFEWWW ) 
    22/Array (     [40] => titolo 1 ) 
    23/Array (     [41] => REGGA ) 
    24/Array (     [42] => No one ) 
    25/Array (     [43] => So What ) 
    26/Array (     [44] => titolo mp3 ) 
    27/Array (     [45] => prova 1 )
    

    quelli a destra del => sono cio che dovrebbe essere stampato


  • User

    io farei così:
    <?php

    $mysqli = new mysqli("$host", "$username", "$psw", "$dbname");
    $query = "SELECT dzdom_musicbattle_media.image_id, dzdom_musicbattle_media.title FROM dzdom_musicbattle_media WHERE dzdom_musicbattle_media.user_id=42";
    $result = $mysqli->query($query);

    while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    $img = $row[0];
    $titolo = $row[1];

    echo $img . "/" . $titolo."\n";
    

    }
    ?>

    Non ha senso inserire il contenuto del feth in un array e poi successivamente parsare nuovamente l'array creata...
    il while percorre l'intero risultato della query fin quando trova elementi.. la dove non ne trova più termina il ciclo.


  • User Newbie

    No, a me serve nell'array perchè non devo solo stamparlo


  • User

    allora fai:
    <?php

    $mysqli = new mysqli("$host", "$username", "$psw", "$dbname");
    $query = "SELECT dzdom_musicbattle_media.image_id, dzdom_musicbattle_media.title FROM dzdom_musicbattle_media WHERE dzdom_musicbattle_media.user_id=42";
    $result = $mysqli->query($query);
    $aElement = array();
    while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    $img = $row[0];
    $titolo = $row[1];
    $aElement[] = $img . "/" . $titolo;
    }

    foreach($aElement as $value){
    echo $value."\n";
    }

    ?>


  • User Newbie

    mi spiego meglio a me servirebbe un array di questo formato array=('elemento1'=>'elementoassociato1', 'elemento2'=>'elementoassociato2', 'elemento3'=>'elementoassociato3', 'elemento4'=>'elementoassociato4',); ma di n elementi che vanno ad inserirsi nel ciclo


  • User

    <?php

    $mysqli = new mysqli("$host", "$username", "$psw", "$dbname");
    $query = "SELECT dzdom_musicbattle_media.image_id, dzdom_musicbattle_media.title FROM dzdom_musicbattle_media WHERE dzdom_musicbattle_media.user_id=42";
    $result = $mysqli->query($query);
    $aElement = array();
    while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    $img = $row[0];
    $titolo = $row[1];
    $aElement[] = array($img => $titolo);
    }

    foreach($aElement as $k =>$value){
    echo $value."\n";
    }

    ?>

    Scrivimi un po' che ti stampa??


  • User Newbie

    $aUnits=array();
    while ($row = $result->fetch_row()){
    $img=$row[0];
    $titolo=$row[1];
    $aUnits=array($img=>$titolo);
    }

    questo funziona ma salva solo l'ultimo elemento


  • User Newbie

    stampa
    Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array Array


  • User

    scusami invece di echo $value."\n"; fai print_r($value)."\n";


  • User Newbie

    stampa lo stesso array

    1/Array ( [1] => Besugo ) 2/Array ( [28] => prova ) 3/Array ( [15] => test1 ) 4/Array ( [16] => test Friday ) 5/Array ( [17] => upload1 ) 6/Array ( [18] => upload2 ) 7/Array ( [19] => upload3 ) 8/Array ( [22] => prova ) 9/Array ( [24] => test Monday ) 10/Array ( [29] => when love takes over ) 11/Array ( [26] => prova2 ) 12/Array ( [27] => titolo dell mp3 ) 13/Array ( [31] => Samoyed ) 14/Array ( [32] => puzzle ) 15/Array ( [33] => paint red ) 16/Array ( [34] => Snow ) 17/Array ( [35] => Prima immagine quadrata ) 18/Array ( [36] => Prima immagine quadrata ) 19/Array ( [37] => ciao 1 ) 20/Array ( [38] => canzone 1 ) 21/Array ( [39] => FAQFEWWW ) 22/Array ( [40] => titolo 1 ) 23/Array ( [41] => REGGA ) 24/Array ( [42] => No one ) 25/Array ( [43] => So What ) 26/Array ( [44] => titolo mp3 ) 27/Array ( [45] => prova 1 )

    ma noto che l'id immagine è quello contenuto tra parentesi non quello prima del /


  • User

    <?php

    $mysqli = new mysqli("$host", "$username", "$psw", "$dbname");
    $query = "SELECT dzdom_musicbattle_media.image_id, dzdom_musicbattle_media.title FROM dzdom_musicbattle_media WHERE dzdom_musicbattle_media.user_id=42";
    $result = $mysqli->query($query);
    $aElement = array();
    while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    $img = $row[0];
    $titolo = $row[1];
    $aElement[] = array($img => $titolo);
    }

    foreach($aElement as $k =>$value){
    foreach(value as $kV => $vV){
    echo $kV.'/'.$vV."\n";
    }
    }

    ?>

    credo che ora debba funzionare


  • User Newbie

    Funziona tutto grazie mille!!!!


  • User

    bene 🙂