Estrarre dati da database e ordinarli in tabella...

  • Creatore Discussione Creatore Discussione Bivio
  • Data di inizio Data di inizio

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Salve, ho creato un form dove invio dei dati sul database mysql , in una tabella, ora vorrei estrarre questi dati e ordinarli in una tabella, per poter visualizzare in modo chiaro...potete aiutarmi?

la tabella si chiama lista ed e composta da 5 campi: nome,cognome,email,sesso,descrizione


Grazie
 
PHP:
<?php
echo "<table>";
echo "<tr>";
echo "<th>nome</th><th>cognome</th><th>etc.</th>";
echo "</tr>";
$query = "SELECT * FROM lista ORDER BY nome DESC"; 
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>". $row['nome']. "</td><td>". $row['cognome']. "</td><td>". $row['etc']."</td>";
echo "</tr>";
}
echo "</table>";
?>
 
ok grazie adesso lo provo, ma se vorrei tipo in un secondo momento a mia scelta, applicare un colore a una determinata riga è possibile farlo? tipo la riga 15 la voglio di colore verde, devo aggiungere un altro campo che numera le riga ogni volta che si aggiunge un record alla tabella?
 
vuoi le righe della tabella a colori alternati (ad esempio verdi le pari e gialle le dispari) oppure vuoi colorare una determinata riga?
 
Buongiorno, diciamo vorrei fare entrambi le cose, colorare le righe in modo alternato per rendere più semplice la lettura, e poi colorare una determinata riga a mia scelta. Diciamo quello che vorrei fare e tipo una lista di cose da fare, poi una volta che è stata fatta io tramite un form dico tipo la riga 15 e stata fatta a cambia il colore in verde.... Non so se la cosa sia fattibile da fare, oppure esiste qualche script gia pronto.


Lo scopo di questo mio script e: aggiungere tramite un form dei dati nel database, per averli sempre a portata di mano, e poi una volta che le cose sono state fatte modificare la riga in verde, magari esiste qualcosa di gia pronto....

Nel frattempo inizio a guardare i due link :)

Ecco un piccolo esempio della tabella che intendo io:

 
Ultima modifica:
ciao
per colorare le righe in modo alternativo non ci sono problemi uno dei due links che ti ho segnalato va bene.
anche per colorare una riga specifica non è difficile, però devi mettere qualcosa che ti riconosca le riga, ad esempio nella tabella potresti aggiungere due campi
dat_ins
e
data_mod

quando inserisci il record inserisci in modo che le due date siano uguali, quando uppi, uppi solamente il campo data_mod (oltre ai campi che vuoi modificare naturalmente).
poi, sempre usando i css puoi colorare ad es quelle modificate, ti scrivo in pseudo codice

fai nel css la classe .modificato con color e color bachground che vuoi

poi nel codice php

se dat_ins != data_mod $classe=”modificato”
altrimenti colora in modo alternato

volendo puoi gestire anche il tempo di modifica (le vecchie modifiche non vengono segnalate)
sempre nel codice (ad es.)
$data_vecchia=attuale – un mese (usa i timestamp)

se dat_ins != data_mod oppure data_mod > data_vecchia $classe=”modificato”
altrimenti colora in modo alternato
 
ok adesso mi rileggo meglio il tuo post, ma per i due campi
dat_ins
e
data_mod

Intendi che il colore viene cambiato quando inserisco un nuovo commento? oppure vale anche per record già inseriti? perché a me servirebbe la seconda cosa
 
ciao
quando inserisci un nuovo record (se hai aggiunto i due campi) puoi fare
PHP:
$dat_ins=time();//legge la data attuale in timestamp
$dat_mod=$dat_ins; //metti le due date uguali
$query= "INSERT INTO mia_tabella (...,...,...,data_ins,data_mod) VALUES ('...','...','...','$data_ins','$data_mod')";

invece quando uppi il record
PHP:
$data_mod=time();//leggi la data in timestamp al momento dell'uppaggio
$query="UPDATE mia_tabella SET ...='...', ...='...' data_mod='$data_mod' WHERE .....";

poi quando leggi i record in funzione delle due date colori come vuoi
 
in questi giorni sono stato impegnato e non ho avuto modo di fare altri test, ora pero avrei un altra richiesta da farvi, se vorrei richiamare solo certe righe raggruppandole, e possibile? tipo invece di vedere tutti i dati, vorrei vedere solo determinati dati di una determinata persona o parola chiave da me scelta, non so se mi sono spiegato,Ti avevo visto un esempio dove in un menu a tendina potevo scegliere i vari gruppi ecc...

Consigli su come fare o come ricercare su google?
 
Prova questo script che ho scritto io. Colora le righe alternando tra rosso e bianco, e quelle modificate le colora di verde. Dovrebbe funzionare:
PHP:
<?php
// mi connetto al database
$conn = mysql_connect('localhost', 'root', 'pwd') or die(mysql_error());
mysql_select_db('dbname', $conn) or die(mysql_error());

// visualizzo le intestazioni della tabella
echo <<<EOF
<table>
	<tr>
		<th>Cognome</th>
		<th>Nome</th>
		<th>E-mail</th>
		<th>Sesso</th>
		<th>Descrizione</th>
	</tr>
EOF;

// recupera i dati
$query = mysql_query("SELECT * FROM lista ORDER BY cognome ASC");

// inizializza il contatore
$i = 0;

// cicla i dati
while($assoc = mysql_fetch_assoc($query))
{
	// stabilisce il background
	$bgcolor = ($i % 2 == 0 ? 'red' : 'white');
	$bgcolor = ($assoc['data_mod'] > $assoc['data_ins'] ? 'green' : $bgcolor);
	
	// visualizza le informazioni
	echo <<<EOF
		<tr bgcolor="{$bgcolor}">
			<td>{$assoc['cognome']}</td>
			<td>{$assoc['nome']}</td>
			<td>{$assoc['email']}</td>
			<td>{$assoc['sesso']}</td>
			<td>{$assoc['descrizione']}</td>
		</tr>
EOF;

	// incrementa il contatore
	$i++;
}

// chiude la tabella
echo <<<EOF
</table>
EOF;

// chiude la connessione
mysql_close($conn) or die(mysql_error());
?>
 
Ultima modifica:
ciao x alex
guarda chi si risente, dove eri sparito? niente di grave spero.

p.s.
meglio che bgcolor sarebbe meglio usare un css con le classi
 
Ho fatto un trasloco e non avevo Internet. In realtà non ce l'ho ancora, solo che un nostro amico abita vicino casa nostra e quindi abbiamo installato un'antenna sul suo tetto che ripete il segnale. Praticamente ora è il nostro gestore, in attesa che un noto provider si degni di darci la connessione.
 
ciao
allora visto che un trasloco non dovrebbe essere una cosa grave spero che il tuo (noto) provider ti dia la connessione il più ta... presto possibile:)
 
Ciao alessandro1997, innanzitutto grazie per lo script, l'ho provato e funziona, la parte della colorazione delle righe, ma non ho capito come implementare la parte della modifica del record. IO vorrei farlo tramite un form html, ma non sto trovano nulla che faccia a caso mio...
 
...ma non sto trovano nulla che faccia a caso mio...

Scusami, niente di personale, ma provare a studiare e a capire come funzionano le cose? Tutti che cercano la minestra già bella e pronta. Cercare di copiare anche un banalissimo form non mi sembra il massimo. Se siete capaci solo del copia e incolla evidentemente l'informatica non è adatta alle vostre capacità, fate altro, ci sono tanti altri passatempi.
 
satifal ha ragione, dovresti iniziare a capire come funziona un'applicazione Web. Comunque non è difficile creare il form, semplicemente gli passi in GET l'ID del record da modificare e rendi disponibili tutti i campi (caricandoci dentro i valori del database), all'invio effettui tutti i controlli necessari, e se è tutto apposto aggiorni i dati, ricordandoti di aggiornare anche data_mod con la data corrente.
 
Ok ragazzi, penso che sia un difetto comune, cercare di fare una cosa saltando le tappe per fare prima possibile, :p penso che il vostro consigli sia l'unica soluzione, mi consigliate qualche buona guida online o libro, dove poter iniziare ad imparare?
 
Ok, domani in ufficio me le stampo, cosi sarà più facile studiarli...un altra domanda, ma si puo imparare dal nulla, oppure occorrono delle basi particolari?
 

Discussioni simili