- Home
- Categorie
- Coding e Sistemistica
- Coding
- Tabella personalizzata di un database
-
Tabella personalizzata di un database
Salve, ho creato, un form html che invia dei dati su un database mysql, poi sotto ho creato una tabella, dove vengono richiamati i dati inseriti con il form precedente, fin qui tutto ok, ho un piccolo problema sulla personalizzazione, io vorrei dare uno stile zebra alle righe, cioè un colore piu chiaro e poi piu scuro, per rendere tutto piu leggibile, ma siccome i dati vengo richiamati dal database, io non ho gia una tabella predefinita, quindi in html, ma si genera in base ai dati presenti sul serve, quindi non so come definire il tutto nei css, non so se mi sono spiegato,
Qui e il mio lavoro : xxx.spaziotest.altervista.org/
Mentre qui e quello che vorrei ottenere: xxxx.html.it/articoli/2583/tableCol2.html
Consigli
-
Non so se con l'ultimo standard css la cosa sia gia nativa, altrimenti lo fai lato server assegnando una classe a seconda del fatto che la riga di dati che stai andando a stampare sia divisibile per due o meno.
-
Ciao, piu precisamente come dovrei agire?perchè non so da dove partire.
-
Usi Asp o Php?
-
Uso php
-
Hai gia la query con la quale leggi i dati cosi partiamo da quella?
-
no, ancora non ho provato nulla
-
E le tabelle mysql che dati hanno al loro interno?
Quali dati ti servono?
-
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]
-
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]
-
mettendo il tuo codice, la tabella diventa tutta con sfondo rosso...
-
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]
-
Grazie mille, adesso funziona perfettamente, grazie ancora ciao
-
Bene e scusa per la dimenticanza eh eh...

-
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?
-
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]
-
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

-
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.
-
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?
-
Volendo puoi lasciarle benissimo vuote, nulle, e fare solo un controllo se la variabile è invece uguale a 1.