mam taki problem wyciągam dane z bazy:
id ip browser data os user password
1 127.0.0.1 Mozilla Firefox 2011-10-14 20:05:19 Macintosh admin NULL
2 127.0.0.1 Mozilla Firefox 2011-10-14 20:28:32 Windows admin asdasd
3 127.0.0.1 Mozilla Firefox 2011-10-14 20:37:46 Windows admin zxcqwe
4 192.168.1.10 Safari 2011-10-14 20:37:46 Linux Szymon masło
5 192.168.1.10 Safari 2011-10-14 20:37:46 Linux Szymon masło
6 192.168.1.10 Safari 2011-10-14 20:37:46 Linux Szymon masło
zapytaniem:
$result = $adb->query( "SELECT * FROM tabela GROUP BY ip ORDER BY id" );
Wyświetla 2 rekordy bez powtórzeń. W widoku w smartach wygląda to tak:
Kod
{foreach from=$TABLE key=fieldid item=fielddata}
<h3><a href="#">{$fielddata.ip}</a></h3>
<div>
</div>
{/foreach}
Czyli wyświetli odpowiednio:
<a href="#">127.0.0.1</a>
<a href="#">192.168.1.10</a>
I wszystko jest ok.
Tylko teraz nie wiem jak dodać do tego wyświetlanie takich samych rekordów. Pokaże co mam i co mi nie gra.
Korzystam z takiego zapytania:
$result = $adb->query( "SELECT ID, ip FROM vtiger_ossfailedloginhistory WHERE ip IN ( SELECT ip AS ilosc FROM vtiger_ossfailedloginhistory GROUP BY ip HAVING COUNT( * ) >1 )" );
W widoku w smartach wygląda to tak:
Kod
{foreach from=$TABLE key=fieldid item=fielddata}
<h3><a href="#">{$fielddata.ip}</a></h3>
<div>
{foreach from=$TABLE2 key=fieldid2 item=fielddata2}
<td>{$fielddata2.ip}</td>
</tr>
{/foreach}
</div>
{/foreach}
<h3><a href="#">{$fielddata.ip}</a></h3>
<div>
{foreach from=$TABLE2 key=fieldid2 item=fielddata2}
<td>{$fielddata2.ip}</td>
</tr>
{/foreach}
</div>
{/foreach}
Wynik wygląda tak
<a href="#">127.0.0.1</a>
<td>127.0.0.1</td>
<td>127.0.0.1</td>
<td>127.0.0.1</td>
<td>192.168.1.10</td>
<td>192.168.1.10</td>
<td>192.168.1.10</td>
<a href="#">192.168.1.10</a>
<td>127.0.0.1</td>
<td>127.0.0.1</td>
<td>127.0.0.1</td>
<td>192.168.1.10</td>
<td>192.168.1.10</td>
<td>192.168.1.10</td>
Niestety nie o to mi chodzi. Chciałbym aby dla <a href="#">127.0.0.1</a>wyświetliły się tylko rekordy127.0.0.1. Czyli
<a href="#">127.0.0.1</a>
<td>127.0.0.1</td>
<td>127.0.0.1</td>
<td>127.0.0.1</td>
I również odpowiednio dla 192.168.1.10:
<a href="#">192.168.1.10</a>
<td>192.168.1.10</td>
<td>192.168.1.10</td>
<td>192.168.1.10</td>