Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Dividere risultati ricavati con mysql_fetch_array()

    Ciao ragazzi!
    Sto impazzendo per una funzione forse anche un po troppo semplice, ma non riesco a trovare una maledetta soluzione!

    Allora....ho uno script che si occupa di prendere dal mio database dei risultati (id,titolo e descrizione). Questo è il mio codice (non contare la forma strana del codice, ho una classe prima per la gestione del database).

    Codice PHP:
    $query $DB->Query("SELECT id,titolo,descrizione FROM news ORDER BY id DESC LIMIT 0,2");
    $result $DB->FetchArray($query); 
    Adesso mi servirebbe recuperare il secondo valore (ad esempio di titolo) preso dal database. Ho provato a fare una cosa tipo:

    Codice PHP:
    $secondo_valore_titolo $result['titolo'][2]; 
    Ma non mi funziona, come posso fare? :master: :master:


    Grazie per le risposte,
    Fabio.
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231

    ...

    prova così:

    $secondo_valore_titolo = $result[2]['titolo'];

    comunque il miglior debug esistente su PHP è un semplicissimo:

    var_dump($result);

    così vedi subito se i valori ti arrivano e sotto che forma.

    ciao Max
    http://www.mdlwork.com

  3. #3
    Niente non vuole andare nemmeno così!

    Ho fatto come mi dicevi, questo è l'array che mi ha dato:

    array(6) { [0]=> string(1) "2" ["id"]=> string(1) "2" [1]=> string(7) "titolo2" ["titolo"]=> string(7) "titolo2" [2]=> string(5) "desc2" ["descrizione"]=> string(5) "desc2" }

    Come potrei fare?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231
    perfetto quindi hai un array così:

    array(6) {
    [0]=> string(1) "2" ["id"]=> string(1) "2"
    [1]=> string(7) "titolo2" ["titolo"]=> string(7) "titolo2"
    [2]=> string(5) "desc2" ["descrizione"]=> string(5) "desc2"

    }

    scusa ma non ti troveresti meglio se usi "mysql_fetch_assoc()" invece di "mysql_fetch_array()"?

    se messo dentro un ciclo, ti restituisce un array associativo in questo modo:

    [0][id] = 1
    [0][titolo2] = "ciao"
    [0][desc2] = "tutto ok"

    [1][id] = 2
    [1][titolo2] = "si"
    [1][desc2] = "forse"

    etc etc

    è anche più facile da scorrere con un ciclo for, prova.

    ciao Max
    http://www.mdlwork.com

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231

    comunque...

    l'array precedente assume questa forma:

    [0]=> string(1) "2" ["id"]=> string(1) "2"
    [1]=> string(7) "titolo2" ["titolo"]=> string(7) "titolo2"
    [2]=> string(5) "desc2" ["descrizione"]=> string(5) "desc2"

    $result[0] = 2
    $result[id] = 2

    $result[1] = "titolo2"
    $result[titolo] = "titolo2"

    $result[2] = "desc2"
    $result[descrizione] = "desc2"

    quindi puoi leggerlo uguale..
    http://www.mdlwork.com

  6. #6
    Mi sto perdendo e sto uscendo veramente pazzo VVoVe: VVoVe: VVoVe:

    Ho provato come mi hai consigliato a sostituire il tutto con l'assoc e non l'array. Ho quindi fatto un ciclo per estrarre i dati...

    Questo è il mio codice:

    Codice PHP:

    // RECUPERO DEI DATI DI PAGINA
    $query $DB->Query("SELECT id,titolo,descrizione FROM news ORDER BY id DESC LIMIT 0,2");
    while(
    $result $DB->FetchAssoc($query)){
        
    $id $result['id'];
        
    $titolo $result['titolo'];
        
    $descrizione $result['descrizione'];
    }
    // FINE RECUPERO

    $array_valori = array(
        
    '{titolo_prima_news}' => $titolo[1],
        
    '{titolo_seconda_news}' => $titolo[2]
    ); 


    Il risultato a video:

    (Primo risultato)
    codice:
    i
    (Secondo risultato)
    codice:
    t

    Che devo fare?
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    231

    allora...

    ...guarda il seguente codice:

    Codice PHP:
      function select($field,$table,$condition=''){
        
    $sql "SELECT $field FROM $table";
        if(!empty(
    $condition)){
          
    $sql .= " WHERE $condition";
        }
        
    $res mysql_query($sql);
        if(!(
    $res==false)){
          while (
    $linea mysql_fetch_assoc($res)) {
            
    $lista[] = $linea;
          }
        }
        return 
    $lista;
      } 
    Questo è un metodo di una classe, che uso per fare le query, molto personalizzabile.

    supponendo che hai instanziato l'ogetto $DB, va richiamato in questo modo:

    Codice PHP:
    $aList $DB->select('id,titolo,descrizione','news','1 ORDER BY id DESC LIMIT 0,2'); 
    ti restituisce l'array $aList secondo questa struttura:

    Codice PHP:
    $aList[0][id] = 1
    $aList
    [0][titolo] = "tit"
    $aList[0][descrizione] = "desc" 
    etc etc

    l'array $aList lo devi scorrere:

    Codice PHP:
    for($x=0;$x<count($aList);$x++){
      echo 
    "id = ".$aList[$x][id]."
    "
    ;
      echo 
    "titolo = ".$aList[$x][id]."
    "
    ;
      echo 
    "descrizione = ".$aList[$x][id]."

    "
    ;

    Prova e fammi sapere, MAX
    http://www.mdlwork.com

  8. #8
    Perfetto ci sono riuscito!
    In un modo però alternativo, ho fatto delle modifiche con i tuoi consigli.

    Poso il codice funzionale in caso servisse a qualche utente!

    Codice PHP:
    $query $DB->Query("SELECT id,titolo,descrizione FROM news ORDER BY id DESC LIMIT 0,2");
    while(
    $row $DB->FetchAssoc($query)){
        
    $lista[] = $row;
    }

    $array_valori = array(
        
    '{titolo_prima_news}' => $lista[0][titolo],
        
    '{titolo_seconda_news}' => $lista[1][titolo]
    ); 
    Grazie mille! Sei stato gentilissimo!
    Alla prossima!
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

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.