Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Da query a Array

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170

    Da query a Array

    Salve a tutti ,
    ho fatto una interrogazione su di una tabella che restitutisce 3 campi tipo
    type | key | value
    anagrafica |nome|mario
    anagrafica |cognome|rossi
    anagrafica |telefono |123456
    ecc
    ecc

    vorrei ottenere un array del genere
    $type['key']=value esempio $anagrafica['nome']='mario'

    come potrei fare?

  2. #2
    Sei davvero certo di voler intraprendere questa strada?
    Non sarebbe meglio utilizzare direttamente un array generico (es. $results).

    In ogni caso, dai una occhiata qui:

    http://www.php.net/manual/en/languag...s.variable.php

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170
    ho provato una cosa del genere
    Codice PHP:
     while($row=mysql_fetch_row($query)) 
       {
       ${
    $row[1]}['{$row[2]}']=$row[3];
       } 
    non non mi funonzia qualcuno sa perche?

  4. #4
    Studiati questo codice:

    Codice PHP:
    <pre>
    <?php 
    $array 
    = array();
    $array[] = array(1'anagrafica''nome''mario');
    $array[] = array(2'anagrafica''cognome''rossi');
    $array[] = array(3'anagrafica''telefono''123456');

    foreach(
    $array as $row) {
        ${
    $row[1]}[$row[2]] = $row[3];
    }

    print_r($anagrafica);

    ?>
    </pre>

  5. #5
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    ...

    forse perchè la funzione che utilizzi mysql_fetch_array riceve come secondo parametro il tipo di array che vuoi ottenere,distinguendolo quindi in numerico,associativo o entrambi.

  6. #6
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    anche io ho utilizzato la funzione mysql_fetch_array() e ho risolto così con la stampa di una tabella che mi visualizza i record .

    <?php
    $query = 'SELECT * FROM soggetti ';
    $risultato = mysql_query($query,$db);
    $affectedrows = mysql_affected_rows($db);
    print("<table border =\"1\" >\n");
    for($i = 0; $i = mysql_fetch_array($risultato,MYSQL_NUM);$i++)
    {
    print("\t<tr>\n");
    foreach($i as $v)
    {
    print("\t\t<td> $v </td>\n");
    }
    print("\t</tr>\n");
    }
    print("</table>");
    mysql_close($db);
    ?>

    non ho capito invece la soluzione proposta :
    <?php
    $array = array();
    $array[] = array(1, 'anagrafica', 'nome', 'mario');
    $array[] = array(2, 'anagrafica', 'cognome', 'rossi');
    $array[] = array(3, 'anagrafica', 'telefono', '123456');

    foreach($array as $row) {
    ${$row[1]}[$row[2]] = $row[3];
    }

    print_r($anagrafica);

    ?>

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.