estrarre dati con colori diversi

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
estrarre dati da Mysql e riportarli con colori diversi

Salve ,

ho un database molto semplice con un' unica tabella , dal quale devo estrarre tutti i dati di tutte le linee e riportarle a schermo .

il database è così composto :

ID | TITOLO | DESCRIZIONE | COLORE

dove nel campo colore in pratica ho inserito una stringa che è il nome di una classe inserita in css esterno .

Vado a stampare tutti i dati a schermo ( sono tutti link e DEVONO avere differenti colori ognuno ) ed assegno una variabile al colore , ma mi succede che tutta la pagina , cioè tutti i link , cambiano il loro colore sulla base dell' ultimo inserito . In pratica ( da quel poco che capisco io ) il puntatore arriva in fondo al database e sulla base di quel colore , mi colora tutto uguale anzichè diversi come dovrebbero essere ...
infatti basta inserire una nuova riga , con colore diverso che tutto assume il colore di quell' ultima riga ..

dove sbaglio ? come posso risolvere ?


Grazie mille in anticipo !
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa non ho capito bene
es.
nel css hai
.class1{..........}
.class2{..........}
ecc...
.classN{..........}
e nel campo colore
class1
class2
.....
classN
o sbaglio?

se è così quando estrai col while ricavi i vari dati

da cui

PHP:
<a href="<?php echo $titolo; ?>" class="<?php echo $colore; ?>"><?php echo $descrizione; ?></a>

dimenticavo
nella pagina devi aver richiamato il css
 
Ultima modifica:

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
PHP:
$sql = mysql_query("SELECT * FROM tabella ORDER by ID DESC");
while($row=mysql_fetch_array($sql))
{
echo "<a href=\"".$row['titolo']."\" class=\"".$row['colore']."\">". $row['descrizione']."</a>\n\r";
}
 

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
grazie ragazzi per le risposte ..

in effetti non capisco una cosa .. ( sono moooolto newbie )

nello script che stò modificando ( un calendario che dovrebbe ripoetare eventi diversi con diversi colori ) , succede questo :

quando si connette al database crea il classico array per poi suddividerlo in variabili ed array con il classico ciclo while , ma senza fare la stampa all' interno di questo ciclo .

molto più sotto , e dopo parecchio altro codice ( che forma il calendario ) và a stampare i vari dati raccolti precedentemente . IO non riesco a capire come posso trasportare fino all' altra parte di codice il valore colore di ogni riga , cioè il class che gli ho assegnato da database .

Devo assegnare il valore colore ad un array? se si , come ? chiedo questo perchè assegnando il valore colore ad una semplice variabile , essendo il ciclo di stampa staccato da ciclo di lettura del database , la cosa non mi funziona .


Chissà se sono stato chiaro .. :confused:

spero ..

grazie infinite !!!!


guardate , questo è il ciclo classico di lettura database ( dove event_team rappresenta le varie classi riportate nel database ) :


$query = "SELECT event_id,event_title,event_day,event_time,event_te am FROM $db_table WHERE event_month='$month' AND event_year='$year' ORDER BY event_time";

$query_result = mysql_query ($query);
while ($info = mysql_fetch_array($query_result))
{
$day = $info['event_day'];
$event_id = $info['event_id'];
$events[$day][] = $info['event_id'];
$event_info[$event_id]['0'] = substr($info['event_title'], 0, 100);;
$event_info[$event_id]['1'] = $info['event_time'];
$event_team = $info['event_team'];
}


.... molto codice dopo c'è il ciclo di scrittura dei dati :

echo "<div align=\"left\">\n";

while (list($key, $value) = each ($events[$i])) {

echo "<span class=\"$event_team\"><a href=\"javascript:MM_openBrWindow('event.php?id=$v alue','','width=500,height=200');\">" . $event_info[$value]['1'] . "<br>" . $event_info[$value]['0']. "<br><br>";
}
echo "</span></div>\n";
}
echo "</td>\n";


...


ma il mio "codice colore" in qualche modo non viene trasposrtato da un ciclo all' altro , ma finisce sempre per eseguire l' ultima voce del database ...


come trasporto il dato "colore" da un ciclo all' altro ? a cosa lo assegno in lettura ad un array ? ora è assegnato ad una variabile e non funziona ....


brutta cosa l' ignoranza ...

grazie a tutti voi !!!!!!!!!!
 
Ultima modifica:

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
quando devo utilizzare un array di dati prodotto da una quey in genere faccio così.

1. Metto tutto in un array:
PHP:
while($row = mysql_fetch_array($sql)) {
   foreach($row as $value) {
   $array_totale[]=trim($value);
   }
  }

2. ordino l'array:
PHP:
  $array_finale = array_unique($array_totale);
  sort($array_finale);
  reset($array_finale);

3.Poi mi vedo i dati con foreach
PHP:
foreach($array_finale as $value)
    {
     echo $value;//etc.
    }
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
proverei in questo modo, dal ciclo che ti ha detto eliox

PHP:
$sql = mysql_query("SELECT * FROM tabella ORDER by ID DESC");
$classe=array();//creo un arrai
while($row=mysql_fetch_array($sql))
{
$classe[]=$row['colore'];//la $classe si autoincrementa da 0 in poi.....
echo "<a href=\"".$row['titolo']."\" class=\"".$row['colore']."\">". $row['descrizione']."</a>\n\r";
}

poi modificherei leggermente

$conta=0;//inizializzo un contatore
while (list($key, $value) = each ($events[$i])) {
// nell' <a hreff... metto class=$classe[$conta]
echo "<span class=\"$event_team\"><a href=\"javascript:MM_openBrWindow('event.php?id=$v alue','','width=500,height=200');\" class=\" $classe[$conta]"\>" . $event_info[$value]['1'] . "<br>" . $event_info[$value]['0']. "<br><br>";
$conta++;//incremento il contatore ad ogni ciclo del while
}

ogni a href "dovrebbe prendere la classe assegnata
 

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
Grazie Eliox !!!! lo terrò a mente quando dovrò di nuovo operare su codici di questo tipo .

purtroppo però ora devo operare su quello che ho già , tu come faresti ??




Grazie anche a Borgo Italia .. ho tentato il tuo codice ma non funziona ..

stò perdendo la testa ..:dipser:

iuo neanche capisco come facesse a stampare a video i dati senza il ciclo $conta che hai messo tu .. eppure lo fà .. un ciclo di prelievo dati riga per riga esiste già ( anche se io non lo capisco ) ; quindi dovrebbe bastare dire a questo ciclo : " senti , mentre scrivi tutti i dati che hai prelevato dal ciclo di lettura precedente , mi associ il relativo colore ( che hai sempre prelevato dal ciclo di lettura precedente ) ????


Ma non ci riesco ..:crying:


grazie infinite ragazzi per la disponibilità , la cortesia e la pazienza che mostrate . Spero di potermi sdebitare in qualche modo ..


Ps : ulteriore ragionamento

Mi chiedo :

se da qui recupera il valore del colore ( rappresentato dal nome della classe di appertenenza ) :

$query = "SELECT event_id,event_title,event_day,event_time,event_te am FROM $db_table WHERE event_month='$month' AND event_year='$year' ORDER BY event_time";

$query_result = mysql_query ($query);
while ($info = mysql_fetch_array($query_result))
{
$day = $info['event_day'];
$event_id = $info['event_id'];
$events[$day][] = $info['event_id'];
$event_info[$event_id]['0'] = substr($info['event_title'], 0, 100);;
$event_info[$event_id]['1'] = $info['event_time'];
$event_team = $info['event_team']; // recupero nome classe
}

perchè nell' altro ciclo non lo riporta riga per riga semplicemente con il tag span ? :

while (list($key, $value) = each ($events[$i])) {

echo "<span class=\"$event_team\"><a href=\"javascript:MM_openBrWindow('event.php?id=$v alue','','width=500,height=200');\">" . $event_info[$value]['1'] . "<br>" . $event_info[$value]['0']. "<br><br>";


dovrebbe funzionare , no ? perchè non va ?
 
Ultima modifica:

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
ho quasi risolto ...

ho inserito un array nel ciclo di lettura così :

$query = "SELECT event_id,event_title,event_day,event_time,event_team FROM $db_table WHERE event_month='$month' AND event_year='$year' ORDER BY event_time"; // estraggo titolo , giorno , // orario e team dalla
// tabella in ordine di tempo
$query_result = mysql_query ($query);
while ($info = mysql_fetch_array($query_result))
{
$day = $info['event_day'];
$event_id = $info['event_id'];
$events[$day][] = $info['event_id'];
$event_info[$event_id]['0'] = substr($info['event_title'], 0, 100);;
$event_info[$event_id]['1'] = $info['event_time'];
$event_info[$event_id]['2'] = $info['event_team']; // metto il team di appartenenza che identifica il colore qui

}

e nel ciclo di scrittura :

while (list($key, $value) = each ($events[$i])) {
$colore = $event_info[$value]['2'];// setto una variabile che contenga il dato letto prima
echo "<span class=\"$colore\"><a href=\"javascript:MM_openBrWindow('event.php?id=$value','','width=500,height=200');\">" . $event_info[$value]['1'] . "<br>" . $event_info[$value]['0']. "<br><br>";// riporto il la variabile associandola al tag span
}
echo "</span></div>\n";


però ... tutto va bene finchè due scritte non compaiono nella medesima casellina .. in quel caso quella che ha un orario precedente " vince " colorando le altre .. perchè ??? :dipser::dipser:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova a portare </span> dntro il ciclo while


................
echo "</span>\n";
//riporto il la variabile associandola al tag span
}
echo "</div>\n";

mal che vada non funzia ancora;)
 

tanaka

Nuovo Utente
13 Feb 2009
28
0
0
ciao Borgo Italia ,

ti bacerei !!!!!!!!!!!!!!!!!!! :fonzie:


era proprio quello .. ha funzionato a perfezione !

che dire .. grazie infinite ..:beer:


ma non pensiate che le mie domande siano finite , eh ??? :eek:

:p

Grazie ragazzi , alla prossima "query" .. :)

:byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] estrarre dati sito web protetto con username e password PHP 13
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
E Estrarre dati da una pagina generata con Javascript Javascript 6
M problema con ciclo foreach per estrarre dati da un database PHP 22
neo996sps Estrarre i dati e presentarli con un layout particolare PHP 0
O [help] estrarre e visualizzare dati da mysql con php a oggetti PHP 6
P estrarre dati xml excel con php XML 1
G Help me! Estrarre dati da un db access con flash Flash 0
W Estrarre e ricaricare dati con Ajax Ajax 0
M estrarre dati da database MySql, con ASP Classic ASP 1
C Estrarre dati stringa Sql Database 1
M Estrarre dati da una select HTML PHP 3
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 10
S [PHP] Estrarre dati tabella in diversi array PHP 2
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
trattorino [PHP] estrarre dati singoli PHP 1
Z Estrarre dati da un DB Mysql PHP 4
S [PHP] Estrarre dati colonna in una stringa PHP 6
Gigi87 estrarre i dati da un forum o social network Presentati al Forum 1
L [PHP] Estrarre dati da sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
filippino [Javascript] Estrarre dati da database MySQL Javascript 1
P Estrarre dati da un databas mysql PHP 3
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
Z [VB.NET] Leggere pagina HTML ed estrarre dati da tabella .NET Framework 1
M Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea' PHP 6
B Estrarre più dati da una tabella PHP 2
C estrarre dati da sito javascript Javascript 1
P Estrarre dati da DB AIUTO :S [Ho veramente bisogno] PHP 7
R Estrarre dati da tabella mysql [era:Sto benedetto php] PHP 22
S Estrarre dati da diverse tabelle mysql PHP 6
F estrarre dati da una cartella PHP 9
F Estrarre dati da tabella javascript HTML e CSS 0
F Aiuto! Estrarre Dati da Database .mdb e visualizzarli in lightbox PHP 1
I Estrarre dati da un file php PHP 3
P Creare un menu a discesa dove poter fare una selezione ed estrarre i dati da db MySql PHP 3
T [MySql] impossibile estrarre dati da campi TEXT MySQL 0
L Estrarre dati da tabella mysql PHP 16
G estrarre i dati da variabile GET PHP 6
Monital estrarre dati da una tabella e riscriverli su di un altra PHP 5
E Estrarre dati dal DB e inviare mail PHP 10
B Estrarre dati da database e ordinarli in tabella... PHP 20
S Estrarre i dati EXIF da una foto PHP 3
P Non riesco ad estrarre dati da doppia tabella PHP 2
F Estrarre dati da database Classic ASP 3
N Estrarre dati che danno una certa somma da Excel, Access o SQL Server Windows e Software 0
grottafelix Estrarre dati da db e modifica Classic ASP 25
grottafelix Estrarre dati da db Classic ASP 13
M Estrarre valore con SELECT COUNT PHP 0
D Estrarre database con link esterno Database 10
S Raggruppare ed estrarre data più recente MySQL 3

Discussioni simili