Visualizzazione dei risultati da 1 a 7 su 7

Discussione: mysql_fetch_array

  1. #1

    mysql_fetch_array

    Ciao a tutti, non capisco una cosa:

    con mysql_fatch_array ottengo un array (orizzontale) che è il risultato della prima riga della tabella che sto interrogando.
    Facendo un loop while ottengo tutte le righe della tabella.

    Come si fa invece ad ottenere un array (verticale)? cioè che contenga nella prima dimensione tutti i campi della prima colonna, nella seconda dimensione i campi della seconda colonna etc...?

    Si può fare o no?

    grazie a tutti............ciao

  2. #2
    mmm mi sa che non hai molto chiaro il funzionamento della libreria MySQL di PHP.

    Non c'è una funzione per fare quello che vuoi, l'unica sarebbe creare n array, uno per ogni campo, e farli popolare con una while:

    Per fare un esempio
    Codice PHP:
    $query "SELECT id, nome, cognome, email, dataDiNascita FROM Utenti";

    $ids = array();
    $nomes = array();
    $cognomes = array();
    $emails = array();
    $dataDiNascitas = array();

    $result mysql_query($query$db);

    while(list(
    $ids[], $nomes[], $cognomes[], $emails[], $dataDiNascita) = mysql_fetch_array($result));

    //Ora hai 5 array con i dati verticali 
    Volendo potresti anche fare un solo array multidimensionale facendo:
    Codice PHP:
    $risultatiVerticali = array();
    $risultatiVerticali[] = array();
    $risultatiVerticali[] = array();
    $risultatiVerticali[] = array();
    $risultatiVerticali[] = array();
    $risultatiVerticali[] = array();

    while(list(
    $risultatiVerticali[0][], $risultatiVerticali[1][], $risultatiVerticali[2][], $risultatiVerticali[3][], $risultatiVerticali[4]) = mysql_fetch_array($result)); 

  3. #3
    mi sa che qualcosa non va.....
    Codice PHP:
    <?php

            $connection 
    mysql_connect($db_host$db_username$db_password);
        
    $db_select mysql_select_db($db_database);
        
    $query "SELECT DISTINCT provincia FROM lista_comuni ORDER BY provincia";
        
    $provincia = array();
        
    $result mysql_query($query);
        while (
    $provincia[] = mysql_fetch_array($result));
        for (
    $index 0$index count($provincia); $index++){
            echo 
    $provincia[$index];
        }
        
    ?>
    mi stampa questo:
    ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArray

    Dove sbaglio?

  4. #4
    ok.. quale punto di list() non ti è chiaro??

  5. #5
    lasciamo perdere list che tanto mi interessa solo una colonna.
    Il fatto è che cosi la variabile $provincia non diventa un array riutilizzabile per esempiio con la funzione print_r

  6. #6
    eggia... USA list($provincia[])!!!

  7. #7
    ok ok capito, scusa l'ignoranza.
    ce l'ho fatta, ora mi printa i risultati come un array


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.