Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832

    Array doppio dopo fetch da database

    ciao gente.
    fenomeno davvero bizzarro:
    Codice PHP:
    $qs $_GET['t'];
    $q mysql_query("SELECT * FROM $qs");
    while(
    $r=mysql_fetch_array($q)){
            echo 
    "<tr>";
            foreach(
    $r as $valu){
                echo 
    "<td>$valu</td>";
            }
            echo
    "</tr>";
        } 
    invece di uscire una tabella con i valori del database, esce la tabella con le colonne sdoppiate!

    esempio: ID, NOME, COGNOME sarebbe la tabella "giusta"in output dovrebbe uscire 1, lyllo, rossi
    invece esce
    1, 1, lyllo, lyllo, rossi, rossi


    ma come mai??

    grazie

  2. #2

  3. #3
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    grazie delle indicazioni, ma programmo in PHP da diversi anni
    non sono un professionista, diciamo un amatore.
    ma ho fatto lavori anche di una certa complessità.

    leggere la guida di php sul fetch di un array è una cosa che ho fatto diverso tempo fa

    magari avevo commesso un errore usando una variabile riservata che creava casino.
    ecco perchè ho chiesto.

    non capisco come mai il vettore viene popolato due volte, quando normalmente non ho mai incontrato un errore simile.
    ho fatto il fetch_array() migliaia di volte durante la mia "carriera"

  4. #4
    Originariamente inviato da lyllo
    grazie delle indicazioni, ma programmo in PHP da diversi anni
    non sono un professionista, diciamo un amatore.
    ma ho fatto lavori anche di una certa complessità.

    leggere la guida di php sul fetch di un array è una cosa che ho fatto diverso tempo fa

    magari avevo commesso un errore usando una variabile riservata che creava casino.
    ecco perchè ho chiesto.

    non capisco come mai il vettore viene popolato due volte, quando normalmente non ho mai incontrato un errore simile.
    ho fatto il fetch_array() migliaia di volte durante la mia "carriera"
    perche' mysql_fetch_array rende di default il result set sia con indice numerico che con indice associativo

    usa mysql_fetch_assoc() oppure usa la costante MYSQL_ASSOC come secondo parametro di mysql_fetch_array

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Originariamente inviato da lyllo
    leggere la guida di php sul fetch di un array è una cosa che ho fatto diverso tempo fa
    non capisco come mai il vettore viene popolato due volte, quando normalmente non ho mai incontrato un errore simile.
    http://it.php.net/mysql_fetch_array
    mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    ...
    By using MYSQL_BOTH (default), you'll get an array with both associative and number indices.

  6. #6
    Credo dovresti scrivere:
    Codice PHP:
    $qs $_GET['t']; 
    $q mysql_query("SELECT * FROM $qs"); 
    while(
    $r=mysql_fetch_array($q)){ 
            echo 
    "<tr>"
            echo 
    "<td>$r[nome_campo]</td>"
            
            echo
    "</tr>"
     } 
    se tu riscorri l'array con il for dentro al while è ovvio che ti scrive i risultati doppi
    Umbria e Sapori
    www.umbriaesapori.it

  7. #7
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    Originariamente inviato da piero.mac
    perche' mysql_fetch_array rende di default il result set sia con indice numerico che con indice associativo

    usa mysql_fetch_assoc() oppure usa la costante MYSQL_ASSOC come secondo parametro di mysql_fetch_array
    ha vinto fetc_assoc()!

    grazie a tutti per il supporto!

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.