• User Attivo

    no, ancora non ho provato nulla


  • ModSenior

    E le tabelle mysql che dati hanno al loro interno?
    Quali dati ti servono?


  • User Attivo

    Allora, ecco il codice che ho utilizzato per far comparire i dai nella tabella attuale, prima non avevo capito la domanda, io uso questo metodo, ma se ci sono altri metodi migliori, i consigli sono ben accettati. In pratica nella tabella devo richiamare i dati presente nella tabella user e i campi, nome-email-password.

    [PHP]
    <div id="lista">

    <form id="form2" name="form2" method="post" action="">
    <fieldset>
    <legend>Archivio</legend>
    <table border="1" cellpadding="0" cellspacing="0" id="archivio" summary="Dati di accesso siti web">
    <tr><th>Nome</th><th>Email</th><th>password</th></tr>

    <?php

    $link = mysql_connect($DB_host, $DB_user, $DB_password);
    

    if (!$link) {
    die ('<strong>Non riesco a connettermi:</strong> ' . mysql_error());
    }

    $db_selected = mysql_select_db($DB_name, $link);
    if (!$db_selected) {
    die ("<strong>Errore nella selezione del database:</strong> " . mysql_error());
    }

    $query = sprintf("SELECT * FROM user;");
    $result = mysql_query($query);
    
    while($row = mysql_fetch_row($result))
    {
    

    ?>
    <tr><td><?php echo $row[0] ?></td><td><?php echo $row[1] ?></td><td><?php echo $row[2] ?></td></tr>

    <?php
    }
    // chiudo la connessione a MySQL
    mysql_close();
    ?>

    </table>
    </table>
    </fieldset>
    </form>

    </div>[/PHP]


  • ModSenior

    Prova cosi.

    [php]
    <div id="lista">

    <form id="form2" name="form2" method="post" action="">
    <fieldset>
    <legend>Archivio</legend>
    <table border="1" cellpadding="0" cellspacing="0" id="archivio" summary="Dati di accesso siti web">
    <tr><th>Nome</th><th>Email</th><th>password</th></tr>

    <?php

    $link = mysql_connect($DB_host, $DB_user, $DB_password);
    

    if (!$link) {
    die ('<strong>Non riesco a connettermi:</strong> ' . mysql_error());
    }

    $db_selected = mysql_select_db($DB_name, $link);
    if (!$db_selected) {
    die ("<strong>Errore nella selezione del database:</strong> " . mysql_error());
    }

    $query = sprintf("SELECT * FROM user;");
    $result = mysql_query($query);
    

    $i=0;
    while($row = mysql_fetch_row($result))
    {
    if(($i%2)==0)
    {
    $stile="background:#ff0000";
    }
    else
    {
    $stile="background:#cccccc";
    }
    ?>
    <tr style="<?php echo $stile?>"><td><?php echo $row[0] ?></td><td><?php echo $row[1] ?></td><td><?php echo $row[2] ?></td></tr>

    <?php
    }
    // chiudo la connessione a MySQL
    mysql_close();
    ?>

    </table>
    </table>
    </fieldset>
    </form>

    </div>
    [/php]


  • User Attivo

    mettendo il tuo codice, la tabella diventa tutta con sfondo rosso...


  • ModSenior

    E se lo applichi ai td?
    Scusa.... la variabili $i non veniva mai incrementata....
    Prima della chiusura della parentesi del while metti questa riga.

    Da cosi.
    [PHP]<?php
    }
    [/PHP]
    A cosi
    [PHP]<?php
    $i=$i+1;
    }[/PHP]


  • User Attivo

    Grazie mille, adesso funziona perfettamente, grazie ancora ciao


  • ModSenior

    Bene e scusa per la dimenticanza eh eh... 😛


  • User Attivo

    Ciao, ti faccio un altra richiesta, e possibile cambiare colore solo a una determinata riga scelta da me? tipo vorrei che la riga 12 cambiasse colore.

    Ti spiego il mio scopo forse ti sarà più semplice capire, io voglio tipo un elenco di cosa da "fare" poi una volta fatta io in un form metto il numero della riga e gli faccio cambiare colore in verde, in modo da faral distinguere dalle altre e capire che è stata evasa....Mi sono spiegato? la cosa e fattibile?


  • ModSenior

    La potresti fare cosi, nella tabella tieni un riferimento booleano o a 0,1 per distinguere se un determinato evento è stato fatto oppure no.
    Nella lettura delle query vai a leggere anche questo parametro.
    In base al valore di tale parametro setti lo stile da applicare alla riga.
    Tipo.

    [php]
    if($fatto==1)
    {
    $stile="background:green";
    }
    else
    {
    $stile="background:red";
    }
    echo "<tr style="$stile"><td>Testo</td></tr>";
    [/php]


  • User Attivo

    ok, ma una cosa non mi è chiara, devo definire di default sempre il valore 0, e poi cambiarlo in 1 quando voglio cambiare colore? scusami ma non mi è chiaro 😞


  • ModSenior

    Si dipende dalla logica che gli vuoi dare...
    Se lo chiami "da fare" o "fatto"...
    Di solito, almeno la logica che uso io, nominerei il campo con il nome "fatto" all'inizio uguale a 0.
    E al compiere dell'azione lo setto a 1.


  • User Attivo

    ok, scusa se ti stresso ancora, dimmelo se e un problema.La domae e come dichiaro le variabili a 0 e poi successivamente le cambio in 1?


  • ModSenior

    Volendo puoi lasciarle benissimo vuote, nulle, e fare solo un controllo se la variabile è invece uguale a 1.


  • User Attivo

    se puoi mi puoi fare un esempio su questo codice?

    <div id="lista">
    
    <form id="form2" name="form2" method="post" action="">
      <fieldset>
        <legend>Archivio</legend>
        <table border="1" cellpadding="0" cellspacing="0" id="archivio"  summary="Dati di accesso siti web">
      <tr><th>Sito</th><th>Nome</th> <th>e-Mail</th><th>Password</th></tr>
    
    <?php
    
        $link = mysql_connect($DB_host, $DB_user, $DB_password);
    if (!$link) {
        die ('<strong>Non riesco a connettermi:</strong> ' .  mysql_error());
    }
    
    $db_selected = mysql_select_db($DB_name, $link);
    if (!$db_selected) {
        die ("<strong>Errore nella selezione del  database:</strong> " . mysql_error());
    }
    
        $query = sprintf("SELECT * FROM user;");
        $result = mysql_query($query);
        
    $i=0;
        while($row = mysql_fetch_row($result))
        {
           if(($i%2)==0)
           {
              $stile="background:#cccccc";
           }
           else
           {
              $stile="background:#5390A6";
           }
    $i=$i+1;
    ?>
    <tr style="<?php echo $stile?>"><td><?php echo  $row[0] ?></td><td><?php echo $row[1]  ?></td><td><?php echo $row[2]  ?></td><td><?php echo $row[3]  ?></td></tr>
    
    <?php
    }
    // chiudo la connessione a MySQL
    mysql_close();
    ?>
    
    </table>
        </table>
      </fieldset>
    </form>
    
    </div>
    
    

  • ModSenior

    Potresti fare cosi.

    [PHP]
    if($row["fatto"])
    {
    $stile="background:#cccccc";
    }
    else
    {
    $stile="background:#5390A6";
    }
    [/PHP]

    Naturalmente il campo fatto deve essere una colonna del database.


  • User Attivo

    ok adesso provo in questa maniera, mi e venuta un altra idea, se impostassi un colore fisso tipo verde con i css, e poi il colore alternato tramite codice php che mi ha dato la scorsa cosa, potrebbe funzionare la cosa?


  • User Attivo

    ok adesso provo in questa maniera, mi e venuta un altra idea, se impostassi un colore fisso tipo verde con i css, e poi il colore alternato tramite codice php che mi ha dato la scorsa cosa, potrebbe funzionare la cosa?


  • ModSenior

    Con il php si puo giocare come vuoi.
    Impostare uno stile, un nome di una classe, un colore.
    Io personalmente userei il nome di una classe, in questo modo tieni diviso la parte dei fogli di stile dalla parte html/php.