Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [MYSql] mysql_fetch_array

    Cavolo, la funzione funziona, solo che non mi prende una riga della tabella.
    Le prened tutet tranen una.
    TABELLA categorie:
    id|categoria|
    1 |UNO |
    2 |DUE |
    3 |TRE |

    SCRIPT:
    codice:
    session_start();
    include('check.php');
    include('config.php');
    if($_SESSION["admin"]==1)
    {
        echo("<table width='90%' border='0' align='center' cellpadding='1%' cellspacing='0' class='news'>
                        <tr bgcolor='#FFFFFF'>
                            <td width='30%'><div align='center' class='titolo'>
                                <font size='2'>NOME</font>
                            </div></td>
                            <td width='30%'><div align='center' class='titolo'>
                                <font size='2'>EDITA</font>
                            </div></td>
                            <td width='30%'><div align='center' class='titolo'>
                                <font size='2'>ELIMINA</font>
                            </div></td>
                	   </tr>
    				");
    
        $Sql = "SELECT * FROM categorie ORDER BY id ASC";
        $dati = mysql_query($Sql, $db);
        $tot = mysql_fetch_array($dati, MYSQL_ASSOC);
        if(empty($tot))
        {
            echo "<tr><td colspan='3'><div class='titolo' align='center'>Non ci sono ancora categorie nel DB</div></td></tr>";
        }
        else
        {
            while ($riga = mysql_fetch_array($dati, MYSQL_ASSOC))
            {
                $id=$riga['id'];
                $categoria=$riga['categoria'];
                echo ("  <tr bgcolor='#FFFFFF'>
                                <td colspan='1'><div align='center'>{$categoria}
                                </div></td>
                                <td colspan='1' onMouseOver='this.className='highlight';' onMouseOut='this.className='';'><div align='center'>
                                    Edita
                                </div></td>
                                <td colspan='1' onMouseOver='this.className='highlight';' onMouseOut='this.className='';'><div align='center'>
                                    Elimina
                                </div></td>
                	        </tr>
                	        ");
            }
        }
        echo "</table>";
    }
    else
    {
        echo "<h1>Area riservata - accesso negato</h1>";
    }
    Nella tabella mi stampa solo:
    DUE
    TRE

    Manca UNO, però nella tabelal c'è O__o
    qualche idea? ciaao

  2. #2
    oddio anche utilizzando foreach mi stampa solo due risultati

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Hai il primo mysql_fetch_array() fuori ciclo, è ovvio che ti salta la prima
    Sostituisci il while con un do...while

  4. #4
    ehm sostituendo il while con un do while mi fa si tre volte il ciclo, ma la prima volta non legge cmq la riga dalla tabella e quindi mi crea semplciemente tre righe di cui la prima è vuota

    |EDITA|ELIMINA
    DUE |EDITA|ELIMINA
    TRE |EDITA|ELIMINA

    come risolvo? ciaaaao e grazie

  5. #5
    Utente di HTML.it L'avatar di thepooh
    Registrato dal
    Oct 2005
    Messaggi
    203
    codice:
    <td colspan='1'><div align='center'>{$categoria}
    ma non ti da errore senza il ; :master:

  6. #6
    Originariamente inviato da thepooh
    codice:
    <td colspan='1'><div align='center'>{$categoria}
    ma non ti da errore senza il ; :master:
    no:
    codice:
    echo ("
           prima riga
           seconda riga
           terza riga
          ")
    viene letto come un unico echo, penso addittura come se fosse tuto sula stess alinea, e solo una questione di legibilità per me che legog il codice...

    ciao

  7. #7
    Utente di HTML.it L'avatar di thepooh
    Registrato dal
    Oct 2005
    Messaggi
    203
    ma se esegui direttamente la query su mysql:
    SELECT * FROM categorie ORDER BY id ASC
    che dati ti tira fuori
    è strana questa cosa

  8. #8
    Originariamente inviato da thepooh
    ma se esegui direttamente la query su mysql:
    SELECT * FROM categorie ORDER BY id ASC
    che dati ti tira fuori
    è strana questa cosa
    lì' funza alla perfezione...


    PS in altre pagine dello stesso sito o utilizzato lo stesso ciclo per tirar fuori tutti i dati di altre tabelle (esempio delle news) e funziona perfettamente, solo lì mi da dei problemi...

  9. #9
    Utente di HTML.it L'avatar di thepooh
    Registrato dal
    Oct 2005
    Messaggi
    203
    puoi fare una cosa?
    cambia la tua while
    while ($riga = mysql_fetch_array($dati, MYSQL_ASSOC))
    {
    $id=$riga['id'];
    $categoria=$riga['categoria'];
    echo (" <tr bgcolor='#FFFFFF'>
    <td colspan='1'><div align='center'>{$categoria}
    </div></td>
    <td colspan='1' onMouseOver='this.className='highlight';' onMouseOut='this.className='';'><div align='center'>
    Edita
    </div></td>
    <td colspan='1' onMouseOver='this.className='highlight';' onMouseOut='this.className='';'><div align='center'>
    Elimina
    </div></td>
    </tr>
    ");
    }
    con
    while ($riga = mysql_fetch_array($dati, MYSQL_ASSOC))
    {
    echo '<tr bgcolor='#FFFFFF'>';
    echo '<td colspan='1'>';
    echo 'id: ' . $riga['id'] . ' categoria: ' . $riga['categoria'];
    echo '</td>';
    echo '</tr>';
    }
    e scrivi cosa ti viene fuori??

  10. #10
    inutile:

    id: 2 categoria: DUE
    id: 3 categoria: TRE

    inoltre non funza nemmeno così:
    codice:
    $usern = "xxx";
    $pass = "xxxx";
    $database= "xxxx";
    
    $db = mysql_connect("localhost","$usern","$pass") or die("ERRORE DI ACCESSO AI DATI
    L'errore di solito &egrave; dovuto a problemi di sovraccarico del server, &egrave; temporaneo e sparisce dopo qualche minuto.
    riprova");
    mysql_select_db($database) or die('Could not select database');
    
    $Sql = "SELECT * FROM categorie ORDER BY id ASC";
    $dati = mysql_query($Sql, $db);
    $tot = mysql_fetch_array($dati, MYSQL_ASSOC);
    while ($riga = mysql_fetch_array($dati, MYSQL_ASSOC))
    {
            $categoria=$riga['categoria'];
            echo $categoria;
    }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.