Newsgroup: it.comp.www.php
Titolo: formattazione condizionale

ciao!
problema: vorrei formattare stringhe di testo con colori e font differenti
al variare di alcune condizioni. xes se l'età è maggiore di 25 anni colore
rosso , se inferiore verde.
Ho fatto un piccolo ciclo con if ... ma non funzia!
ve lo posto qualcuno mi aiuta?
<td colspan=100% span class=titolomedio><div align="left">Oggetto:&nbsp;
'.if ($info["oggetto"]=)
 {
        echo '<class=titolomedio>'.$info["oggetto"].' else
<class=titolonormale>'.$info["oggetto"].
    }
    ;'</td>
--------------------------------
Inviato via 
http://usenet.libero.it

     ;'</td>
Mi sembra che tu non capisca tanto di php ... eh? :-))
1 - il pezzo di php inizia e finisce con <? e con ?>
2 - ogni riga termina con un punto e virgola;
3 - quando fai un if questa è la sintassi:
if (condizione) {
    ......
} else {
   .....
}
Quindi il tuo script sarà così:
<td colspan=100% span class=titolomedio><div align="left">Oggetto:&nbsp;
<?
if ($info["oggetto"] =)     <<<<<<< vedi sotto
 {
        echo '<class=titolomedio>'.$info["oggetto"];
} else {
        echo '<class=titolonormale>'.$info["oggetto"];
    }
?>
</td>
nota. l'if fatto così è sbagliato. Prima di tutto ci vogliono due uguali (
== ), e dopo questi ci deve essere (intuisco dal caso) una stringa
(ricordati le " all'inizio e alla fine).
Ciao

     ;'</td>
La sintassi che vorresti usare funziona cosi:
   (espr) ? parte1 : parte2
quindi incorporando in una stringa combini una roba come questa:
 echo 'ciao:' . ($a==1) ? 'a=1' : 'a!=1' . 'ok?';
Cmq. nel tuo caso non rimane molto leggibile.
   '<td colspan=100% span class=titolomedio><div
align="left">Oggetto:&nbsp;>'
    .
      ($info["oggetto"]=='medio')?
          '<class=titolomedio>'.$info["oggetto"].
    : '<class=titolonormale>'.$info["oggetto"].
      '</td>'
sarebbe meglio qualcosa come (anche perche' cosi' puoi riusare la variabile
per altre parti con la stessa classe):
if ($info["oggetto"]=='medio')
   $classe='titolomedio';
else
   $classe='titolonormale';
echo 'td colspan=100% span class=titolomedio><div
align="left">Oggetto:&nbsp;
      <class='.$classe.'>'.$info["oggetto"].'</TD>';

 Ho fatto un piccolo ciclo con if ... ma non funzia!
Dimenticavo:
Formalmente non esistono cicli con 'if',
Il termine si usa solo per costrutti come 'while', 'for', 'do...while' ed
eventualmente 'goto'.
Volendo anche in modo astratto con funzioni ricursive in combinazione con
if.

 ha scritto nel
messaggio news:uB64a.16622$uA5.4...@tornado.fastwebnet.it...

Grazie ad entrambi x i consigli!
Scusatemi x l'approssimazione del codice ... ma ho postato da un server su
internet e non dal mio client delle news xè il mio provider è bloccato, ero
di fretta e ho appiccicato qualche prova che stavo facendo... non sono un
pro ... ma qualcosa cerco di capirci!!!
In realtà ciò che cerco di fare è di presentare dei dati che arrivano da una
query.
Se quel tal campo non è stato compilato non mi interessa che mi venga
stampata la corrispondente etichetta : tipo nome campo = oggetto , se
l'oggetto è vuoto mi stampa in bianco su sfondo bianco , se invece contiene
qualcosa mi stampa il contenuto e la relativa etichetta.
Il mio problema spesso sono le virgolette e le doppie virgolette , parse
error di qua parse error di la...miii!!!
Ora faccio un po' di prove poi vi faccio sapere!
Grazie ragazzi!

 ha scritto nel messaggio
news:b2qvih$kj4$1...@news.flashnet.it...

A propos di cicli.... giusta l'osservazione su quali siano cicli e quali
non... come si gestiscono gli if all'interno di cicli...
per esempio ho il ciclo while che mi restituisce un array di dati :
while ($info=mysql_fetch_array($res))
{
 Echo '<table width=100% align=center border=0 bordercolor=#D4D4D4
wordwrap=on cellspacing=0 cellpadding=0>
<tr> ecc....
A questo punto posso cominciare un if ??? non mi si interrompe il ciclo???

 A questo punto posso cominciare un if ??? non mi si interrompe il ciclo???
no.
puoi innestare while if e altri costrutti alla profondità che vuoi.
la cosa a cui devi fare attenzione sono LE PARENTESI.
while (condizione) {
	//qui inizia il while
	blah;
	blah;
	blah;
	if (condizione) {
		//inizio if
		ecc..
		//fine if
	} else {
		//inizio else
		ecc..
		//fine else
	}
//fine while
}
l'indentazione del codice aiuta tantissimo la lettura, tant'è che in 
molti progetti (PEAR in primis), si sono creati degli "standard" di 
indentazione e sintassi in generale.
ciao
-- 
punkarruso

 ha scritto nel messaggio
news:yz74a.127835$ZE.36...@twister2.libero.it...

grazie simpatico quotatore!

 A questo punto posso cominciare un if ??? non mi si interrompe il ciclo???
no.. a meno che la pagina php rimanga incinta :)
Vabbč.. sorry... prometto di evitare per un po' simili commenti :)

> no.. a meno che la pagina php rimanga incinta :)
AAHAH, bella questa me la segno :))


acc.. voi ve la ridete e il mio codice va in malora......
mi da ancora un parse errror....
<td colspan=100% span class=titolomedio><div
align="left">Oggetto:&nbsp;'.$info["oggetto"].'</div></td>
'.if ($info["oggetto"]=="teo") >>>>errore qui sia con " " che con ' '
   {
   $classe='titolonormale';
else
   $classe='titolomedio';
echo '<td
colspan=100%>Oggetto:<class='.$classe.'>'.$info["oggetto"].'</TD>';
 }
</tr>

 '.if ($info["oggetto"]=="teo") >>>>errore qui sia con " " che con ' '
   ^
punto virgola. Devi chiudere con ;
Meglio se riformatti il codice, cosi vedi meglio i problemi:
echo  '<td colspan=100% span class=titolomedio>
      <div align="left">Oggetto:&nbsp;' .
      $info["oggetto"] .
      '</div></td>';
if ($info["oggetto"]=="teo")


 ha scritto nel
messaggio news:bl84a.16811$uA5.4...@tornado.fastwebnet.it...

Ok funziona ... non chiudevo con '  la colonna in html, ma adesso come ti
dicevo non mi conclude il ciclo ho altre variabili che non vengono
pubblicate. da quella seguente all'oggetto!
 Se non ti dispiace ti posto tutto il codice cosi mi dici!
Grazie!
<html>
<head>
<title>Protocollo Inserimento</title>
<link rel="stylesheet" href="/css/master.css" type="text/css">
<?php include ("../stilefax.txt"); ?>
<p><p><p>
<font face="Verdana">
<?php
 include( "../dati4.txt");
 $link = mysql_connect( "$db_host", "$db_login", "$db_pass")
 or die ( "Non riesco a connettermi a $db_host");
 mysql_select_db ($database, $link)
 or die ( "Non riesco a selezionare il db $database<br>");
 $sql="SELECT *,date_format(datains,'%d/%m/%Y')as data1 FROM archivio where
(archivio.Id='$Id') ";
 $res = mysql_query($sql,$link)
 or die( "Errore: " . mysql_error() );
 $num=mysql_num_rows($res);
 while ($info=mysql_fetch_array($res))
{
 Echo '
<table width=100% align=center border=0 bordercolor=#D4D4D4 wordwrap=on
cellspacing=0 cellpadding=0>
<tr>
<td></TD>
</TR>
<tR>
<td width=30% align=right border=1 bordercolor=#000000></Td>
<td width=30% align=right border=1></Td>
<td align=left span class=titolomedio>N.Prot.:
'.''.$info["nprotocollo"].'/'.$info["annoprotocollo"].''. '</span>
</tD>
<tr>
<td width=30% align=right border=1 bordercolor=#000000></Td>
<td width=30% align=right border=1></Td>
<TD width=30% align="left" span class=titolomedio>A:</span><span
class=titolonormale> '.$info["nomedest"].'</span></tD>
<tr>
<td width=30% align=right border=1 bordercolor=#000000></Td>
<td width=30% align=right border=1></Td>
<td align=left span class=titolomedio>Via</span><span class=titolonormale>
'.$info["viadest"].'</span></td></tr>
<tr>
<td width=30% align=right border=1 bordercolor=#000000></Td>
<td width=30% align=right border=1></Td>
<td width=30%align=left class=titolonormale>cap.'.$info["capdest"] .'
'.$info["cittadest"].' ('.$info["provdest"].')
</td></tr>
<tr>
<td width=30% align=right border=1 bordercolor=#000000></Td>
<td width=30% align=right border=1></Td>
<td width=30% align=left border=1 class=titolomedio>N.fax:</span><span
class=titolonormale> '.$info["nfax"].'</span>
</td>
</tr>
<tr>
<td width=30% span class=titolomedio>Da:</span><span class=titolonormale>
'.$info["titolo"].' '.$info["redattore"].'</span></td>
<td width=30% align=right border=1></Td>
<td width=30% align=right border=1></Td>
</tr>
<tr>
<td colspan=100% align="left" span class=titolomedio>Data:&nbsp;</span><span
class=titolonormale>'.$info["data1"].'</span></td>
</tr>
<tr>
<td colspan=100% span class=titolomedio>
<div align="left">Oggetto:&nbsp;'.$info["oggetto"].'</div></td>';
if ($info["oggetto"]=="teo")
{
   $classe='titolonormale';
}
else
{
   $classe='titolomedio';
}
echo '<tr><td colspan=100%>Oggetto:
      <class='.$classe.'>'.
      $info["oggetto"].'</TD></td>';
'
<tr>
<td colspan=100% span class=titolomedio></td>
</tr>
<tr>
<td></TD>
<td width=30% align=right border=1></Td>
<td width=30% align=right border=1></Td>
</tr>
<td>
<!-- Parte scrivibile il due è il documento-->
<tr>
<td align=center colspan=100% span class=titolomedio>Messaggio</td>
</tr>
<tr><td colspan=100%></td></tr>
<tr>
<td colspan=100%
align=justify><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.nl2br($info["documento"]).
'</td>
</tr>
<tr>
<td align=left width=30% border=0 class=titolonormale></Td>
<td align=right width=30% border=0 class=titolonormale></Td>
<td align=center border=0 class=titolonormale>Distinti Saluti</Td>
</tr>
<tr>
<td align=right width=30% border=0 class=titolonormale></Td>
<td width=30% align=right border=1></Td>
<td class=titolomedio align=center> '.$info["redattore"].'</span></td>
</tr>
</table>
'
;
}
mysql_close ($link);
?>
</body>
</html>

 Se non ti dispiace ti posto tutto il codice cosi mi dici!
Dico che dovresti un po' studiare, sai come si impara?
Sudando...
*SCNR*

 ha scritto nel
messaggio news:GG84a.16843$uA5.4...@tornado.fastwebnet.it...

 Ok capo! Grazie x il tempo che mi hai dedicato!
.... quando lo aggiusto ti pago una birra! Non prima, non prima!

 .... quando lo aggiusto ti pago una birra! Non prima, non prima!
In speranza di una buona birra ti do un consiglio, controlla se la forma
  echo '<stringa>';
e' sempre ok da te... ;-P

 ha scritto nel
messaggio news:XR84a.16860$uA5.4...@tornado.fastwebnet.it...

Ho trovato era un cavolo di ; alla fine dell'echo che bloccava il tutto
invece mettendo il . continua il ciclo.
La birra te la pago lo stesso!!!
(nel frattempo ho visitato il tuo sito e il tuo cv... azz! ) hai solo 10
anni e 2 giorni più
di me ma ne hai fatte di cose...
io ci sbatto la testa col php ma non sai che soddisfazione quando funziona!
Non ho molto tempo x studiare , già sono preso con giurisprudenza...questa
resta una passione che x ora mi da da  mangiare, ciò non toglie che quando
ho tempo mi ci metto!
c u soon