{moslate}

<table border="1">
<tr><th colspan="3">logic-sql</th></tr>
<tr><th>name</th><th>output</th><th>code</th></tr>

<tr><td>sql:query<br/>
<i>var(default:rows),<br/>scope(optional),<br/>sql(optional)</i><br/>
<br/>
... ? ... : ...<br/>
<br/>
accessing properties<br/>
</td>
<td>
{sql:query var="rows"}
SELECT title, url FROM #__weblinks
{/sql:query}
<table border="1">
<tr><th colspan="2">rows
 ({c:out value="${fn:length(rows)}"/})</th></tr>
{c:forEach items="${rows}" var="row"}
<tr><td rowspan="2" style="font-weight:{c:out value="${row.key % 2 == 0 ? 'bold' : 'thin'};"/}">{c:out value="${row.key}"/}</td>
<th colspan="2">
{c:out value="${row.value['title']}"/}
</th></tr>
<tr><td>{c:out value="${row.value.url}"/}</td></tr>
{/c:forEach}
</table>
</td>
<td>
{htmltext}
{sql:query var="rows"}
SELECT title, url FROM #__weblinks
{/sql:query}
<table border="1">
<tr><th colspan="2">rows
 ({c:out value="${fn:length(rows)}"/})</th></tr>
{c:forEach items="${rows}" var="row"}
<tr><td rowspan="2" style="font-weight:{c:out value="${row.key % 2 == 0 ? 'bold' : 'thin'};"/}">{c:out value="${row.key}"/}</td>
<th colspan="2">
{c:out value="${row.value['title']}"/}
</th></tr>
<tr><td>{c:out value="${row.value.url}"/}</td></tr>
{/c:forEach}
</table>
{/htmltext}
</td>
</tr>

<tr><td>sql:update<br/>
<i>var(default:rows),<br/>scope(optional),<br/>sql(optional)</i><br/>
<br/>
sql:param<br/>
<i>value</i><br/>
</td>
<td>
{c:set var="oldTitle" value="Mambo"/}
{c:set var="newTitle" value="Zambo"/}

{sql:update var="affectedRows"
 sql="UPDATE #__weblinks SET title = '${newTitle}' WHERE title = '${oldTitle}'"/}
affected rows: {c:out value="${affectedRows}"/}<br/>

{sql:query var="rows"
 sql="SELECT title, url FROM #__weblinks WHERE title = ?"}
{sql:param value="${newTitle}"/}
{/sql:query}

count: {c:out value="${fn:length(rows)}"/}<br/>

{c:forEach items="${rows[0]}" var="entry"}
{c:out value="${entry.key}=${entry.value}"}<br/>
{/c:forEach}

{sql:update var="affectedRows"}
UPDATE #__weblinks SET title = ? WHERE title = ?
{sql:param value="${oldTitle}"/}
{sql:param value="${newTitle}"/}
{/sql:update}
affected rows: {c:out value="${affectedRows}"/}<br/>

</td>
<td>
{htmltext}
{c:set var="oldTitle" value="Mambo"/}
{c:set var="newTitle" value="Zambo"/}

{sql:update var="affectedRows"
 sql="UPDATE #__weblinks SET title = '${newTitle}' WHERE title = '${oldTitle}'"/}
affected rows: {c:out value="${affectedRows}"/}<br/>

{sql:query var="rows"
 sql="SELECT title, url FROM #__weblinks WHERE title = ?"}
{sql:param value="${newTitle}"/}
{/sql:query}

count: {c:out value="${fn:length(rows)}"/}<br/>

{c:forEach items="${rows[0]}" var="entry"}
{c:out value="${entry.key}=${entry.value}"}<br/>
{/c:forEach}

{sql:update var="affectedRows"}
UPDATE #__weblinks SET title = ? WHERE title = ?
{sql:param value="${oldTitle}"/}
{sql:param value="${newTitle}"/}
{/sql:update}
affected rows: {c:out value="${affectedRows}"/}<br/>

{/htmltext}
</td>
</tr>

</table>

{/moslate}