[ damakii @ 07.03.2012. 09:12 ] @
Zdravo,

imam potrebu da napravim tabelarni prikaz svih naziva tabela iz mysql baze sa njihovim id-ovima, ali i da markiram ćelije u kojima nema ništa upisano. Dakle, imam višejezičnu web stranicu i želim da u svakom trenutku znam na kojem jeziku imam zapis u bazi, a na kojem nemam. Tabela bi mogla biti sa sljedećim kolonama:

ime tabele | id | jezik sr | jezik en | jezik de |

U ovom prikazu, ćelija koja ima upisan podatak na nekom jeziku, treba da se prefarba zelenom bojom, a ona koja nema crvenom bojom.
Nadam se da sam jasno opisao svoj problem.

Molim za pomoć.
[ Milos911 @ 07.03.2012. 09:33 ] @
Code:

if(!is_null($jezik_sr)){
  <font color="#green">test</font>
  }else{
   <font color="#red">Nema prevoda</font>
  }

Pa ovako za svaku celiju u tabeli, a u bazi stavi da ti je default vrednost za jezik_sr NULL...
[ damakii @ 07.03.2012. 14:15 ] @
Ne ide mi nesto. Imam sljedece:

Code:

<?php
$sql="SELECT id,naziv_sr,naziv_en,naziv_de,opis_sr,opis_en,opis_de FROM ime_tabele order by id ASC";
$result=mysql_query($sql);
 
echo '<table width="348" border="0" align="center" cellpadding="0" cellspacing="1">';
while($rows=mysql_fetch_array($result)){
 
echo "<tr height='20'>
<td width='40' align='left' valign='middle'>".$rows['id']."</td>
<td width='50' align='left' valign='middle'>".$rows['naziv_sr']."</td>
<td width='50' align='left' valign='middle'>".$rows['naziv_en']."</td>
<td width='50' align='left' valign='middle'>".$rows['naziv_de']."</td>
<td width='50' align='left' valign='middle'>".$rows['opis_sr']."</td>
<td width='50' align='left' valign='middle'>".$rows['opis_en']."</td>
<td width='50' align='left' valign='middle'>".$rows['opis_de']."</td>
</tr>";
}
echo '</table>';
mysql_close();
?>


Kako sada reci da mi u ovim celijama naziv_sr,naziv_en,naziv_de,opis_sr,opis_en,opis_de prikazuje zelenu i crvenu boju u zavisnosti od toga da li je podatak unesen u bazu ili je NULL. Ako je NULL, treba mi crvena celija, a ako je popunjena nekim podacima onda je zelena celija. Kako god okrenem ne dobijam zeljeni rezultat.

[ dakipro @ 07.03.2012. 14:33 ] @
Citat:
damakii: .... Kako god okrenem ne dobijam zeljeni rezultat.

Daj neki primer kako si okretao do sada. Treba ti jedan obican if ($rows['naziv_sr']=='')
[ ivan.a @ 07.03.2012. 21:38 ] @
Evo primera za dva polja a ti nastavi dalje...


Code:
<?php
$result=mysql_query("SELECT id,naziv_sr,naziv_en,naziv_de,opis_sr,opis_en,opis_de FROM ime_tabele order by id ASC");
?>
<table width="348" border="0" align="center" cellpadding="0" cellspacing="1">
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr height="20">

<td width="50" align="left" valign="middle">
<?php 
if (empty($rows['naziv_sr']) ) { ?><span style="color:red;"><?php } else { ?><span style="color:green;"><?php } 
echo $rows['naziv_sr']; 
?>
</span>
</td>

<td width="50" align="left" valign="middle">
<?php 
if (empty($rows['naziv_en']) ) { ?><span style="color:red;"><?php } else { ?><span style="color:green;"><?php } 
echo $rows['naziv_en']; 
?>
</span>
</td>

</tr>
<?php
}
?>
</table>
<?php
mysql_close();
?>
[ damakii @ 08.03.2012. 08:01 ] @
Nesto ne radi. Ovaj dio mi ne prepoznaje:

<span style="color:red;">

Izgleda da je u sintaxi negdje greska. Ali mislim da ni ovaj primjer ne zadovoljava ono sto meni treba, meni treba da ne ispisuje podatak ako je upisan u celiju (bazu), vec da mi tu celiju markira zelenom da tu u bazi ima upisan podatak. Isto tako mi treba i za NULL, ako je NULL onda mi treba da kod prikaza markira celiju crvenom bojom u kojoj je NULL.
[ AMD guy @ 08.03.2012. 14:08 ] @
http://www.w3schools.com/tags/tag_span.asp
<span style="color:red;"> tacka zarez nije potrebna
[ ivan.a @ 08.03.2012. 14:50 ] @
Primer gore boji slova u zavisnosti da li postoji podatak ili ne. Ako je u bazi ispisan podatak on ga prikazuje u zelenoj boji, u suprotnom u crvenoj. Da li ćeš farbati slova, pozadinu ćelije, okvir ćelije sam odluči.
Za NULL koristi is_null ili === operator (umesto empty):
Code:
is_null($rows['naziv_sr'])

ili
Code:
$rows['naziv_sr'] === NULL

Ostali deo posla ne bi trebalo da predstavlja problem.
[ damakii @ 08.03.2012. 17:34 ] @
Nije do ";" :(
[ farkZ @ 05.04.2012. 20:12 ] @
Primjer radi savršeno.
Provjeri zareze ili vitičaste zagrade, 100x sam se našao da nešto ne radi, a na kraju ispalo da nisam zatvorio zagradu.