How to put link around table data in PHP - php

I'm trying to put a link around data in a table. So if the user clicks on the link it will bring them to the edit page for that item. Every time I put the code in the data will disappear from the table. Here is the code for my page I'm working on:
I'm trying to put clickable data at the start of the table code
<?php include '../view/header.php'; ?>
<div id="main">
<h1>Product List</h1>
<div id="content">
<!-- display a table of products -->
<h2><?php echo $name; ?></h2>
<table>
<tr>
<th>Code</th>
<th>Name</th>
<th class="right">Version</th>
<th> </th>
</tr>
<?php foreach ($products as $product) : ?>
<tr>
<td> <a href="?action=view_product&product_id=<?php echo $product['productCode']; ?>"</a></td>
<td><?php echo $product['name']; ?></td>
<td class="right"><?php echo $product['version']; ?></td>
<td><form action="." method="post">
<input type="hidden" name="action"
value="delete_product" />
<input type="hidden" name="productCode"
value="<?php echo $product['productCode']; ?>" />
<input type="submit" value="Delete" />
</form></td>
</tr>
<?php endforeach; ?>
</table>
<p>Add Product</p>
</br>
</div>
</div>
<?php include '../view/footer.php'; ?>

May not be the issue, but I don't see a closing anywhere for the:
<a href="?action=view_product&product_id=<?php echo $product['productCode']; ?>

You don't have any closing </a> tag and nothing between the opening <a> tag and where the closing tag should be. Here is the problem:
<td> <a href="?action=view_product&product_id=<?php echo $product['productCode']; ?>"></td>
This should be something like:
<td><?php echo $product['productCode']; ?></td>

you are missing the closing tag for your anchor. It should be:
<td> <?php echo $product['productCode']; ?></td>

Related

does not identify the id in the table

I am making the modification for the query and already add and everything but in modifying it does not work with 'id' that I put after putting the address of the modification page
this is the table
<!DOCTYPE html>
<html>
<head>
<title> TABLA </title>
</head>
<body>
<center>
<table bgcolor="#85C1E9" border="3">
<thead>
<tr>
<th colspan="1">Nuevo</th>
<th colspan="5">Lista de usuarios</th>
</tr>
</thead>
<tbody>
<tr>
<td>Id</td>
<td>Nombre</td>
<td>Apellido</td>
<td>Correo</td>
<td colspan="2"><center>Operaciones</center></td>
</tr>
<?php
include("conexiones.php");
$query="SELECT * FROM usuarios";
$resultado=$conexion->query($query);
while ($row=$resultado->fetch_assoc()) {
?>
<tr>
<td><?php echo $row['id'];?></td>
<td><?php echo $row['nombre'];?></td>
<td><?php echo $row['apellido'];?></td>
<td><?php echo $row['correo'];?></td>
<td><a href="modificar.php?id=<?php echo $row['id'];
?>">Modificar</a></td>
<td><a href="eliminar.php?id=<?php echo $row['id']; ?
>">Eliminar</a></td>
</tr>
<?php
}
?>
</tbody>
</table>
</center>
</body>
</html>
here the modify page
<!DOCTYPE html>
<html>
<head>
<title>Guardar</title>
</head>
<body>
<center>
<form action="guardar.php" method="POST" name="guardar"><br><br><br>
<?php
$id=$_REQUEST['id'];
include("conexiones.php");
$query="SELECT * FROM usuarios";
$resultado=$conexion->query($query);
$row=$resultado->fetch_assoc();
?>
<input type="text" required="" name="nombre" placeholder="Nombre..."
value="<?php echo $row['nombre'];?>"><br><br>
<input type="text" required="" name="apellido"
placeholder="Apellido..." value="<?php echo $row['apellido'];?>">
<br><br>
<input type="text" required="" name="correo"
placeholder="Correo..." value="<?php echo $row['correo'];?>"><br>
<br>
<input type="submit" value="Aceptar">
</form>
</center>
</body>
</html>
the error is that when I press modify in the query I get like this:
http://localhost/modificar.php?id=%3C?echo%20$row[%27id%27];?%3E
and the way it should go (for example) is like this:
http://localhost/modificar.php?id=1
Try this:
<?php
include("conexiones.php");
$query="SELECT * FROM usuarios";
$resultado=$conexion->query($query);
?>
<?php while ($row=$resultado->fetch_assoc()): ?>
<tr>
<td><?= $row['id'] ?></td>
<td><?= $row['nombre'] ?></td>
<td><?= $row['apellido'] ?></td>
<td><?= $row['correo'] ?></td>
<td><a href="modificar.php?id=<?= $row['id'] ?>">
Modificar</a></td>
<td><a href="eliminar.php?id=<?= $row['id'] ?>">
Eliminar</a></td>
</tr>
<?php endwhile; ?>
hope it helps.

Show only relevant search results

I have created a page for search, and I'm having some problems.
The data is displayed on the page but I also use some fields on the form for a specific field, so when I enter the data in those fields and hit search, it shows the search field on the top of the display page with the rest of the data, but I want only the data which belongs to my search.
CODE:
<?php
include('connect.php');
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php include('include/head.php')?>
</head>
<body>
<div id="header-wrapper">
<div id="header">
<div id="menu">
<ul>
<?php include('include/menu.php') ?>
Logout
</ul>
</div>
</div>
</div>
<div id="logo">
<?php include('include/logo.php'); ?>
</div>
<div id="wrapper">
<div id="page">
<div id="page-bgtop">
<div id="content">
<div class="post">
<div class="entry-image">
<?php
$q=mysql_query("SELECT count( php ) AS ph, count( dotnet ) AS dot, count( design ) AS des FROM candidate");
while($row=mysql_fetch_array($q))
{
?>
<form name="" method="post">
<table border="1" cellpadding="10" cellspacing="1" width="280" height="200">
<th colspan="5" bgcolor="orange" >Total Number of Resume by skills</th>
<tr>
<th><B>PHP</B></th>
<th><B>DOTNET</B></th>
<th><B>DESIGN</B></th>
</tr>
<td><?php echo "$row[ph]"; ?></td>
<td><?php echo "$row[dot]"; ?></td>
<td><?php echo "$row[des]"; ?></td>
</table>
</form>
<?php
}
?>
</div>
<h2 class="title">Welcome to Resume </h2>
<div class="entry">
<p>
<form name="search" method="post" action="searchview.php">
<table>
<tr>
Id: <input type="text" name="id" /></br></br>
Name:<input type="text" name="name" /><br/></br>
Expected Salary:<input type="text" name="es" /><br/></br>
Skill Rate: <input type="text" name="sr" /><br/> </br>
Salary:<input type="text" name="cs" /></br></br>
<input type="submit" name="submit" value="seach" /><input type="reset" name="reset" value="reset" />
</tr>
</table>
</form>
</p>
</div>
</div>
<div class="post" >
<?php
$query=mysql_query("select * from candidate");
while($row=mysql_fetch_array($query))
{
$sno=$row['id'];
$image=$row['image'];
$name=$row['fname'];
$es=$row['es'];
$sr=$row['sr'];
$cs=$row['cs'];
?>
<form name="view" method="post" action="searchview.php" >
<table border="1" cellpadding="30" class="centered" width="20" >
<tr>
<th width="150">S.NO</th>
<th width="150">IMAGE</th>
<th width="150">NAME</th>
<th width="150">EXPECTED SALARY</th>
<th width="150">SKILL RATE</th>
<th width="150">SALARY</th>
<th width="150">ACTION</th>
</tr>
<td><?php echo "$row[id]"; ?></td>
<td><div class="rightdiv1a"><img src="<?php echo 'img/'.$row['image']; ?>" style="height:120px; width:145px; "></div></td>
<td><?php echo "$row[fname]"; ?></td>
<td><?php echo "$row[es]"; ?></td>
<td><?php echo "$row[sr]"; ?></td>
<td><?php echo "$row[cs]"; ?></td>
<td><img alt='view' title='view' src='images/view.png' width='15px' height='15px' hspace='20' /></td>
<td><img alt='Edit' title='Edit' src='images/edit.png' width='15px' height='15px' hspace='20' /></td>
<td><a onclick="return confirm('Would you like to delete?');" href="delete.php?id=<?php echo "$row[id]"; ?>"><img alt='delete' title='delete' src='images/delete.png' width='15px' height='15px' hspace='20' /></a></td>
</table>
</form>
<?php
}?>
</div>
</div>
</div>
</div>
</div>
<div id="footer-bgcontent">
<div id="footer">
<?php// include('include/footer.php');?>
</div>
</div>
</body>
</html>
<?php// } ?>
This code displays the data now but I want to filter the data and only show the results which belongs to my search, and have the rest disappear.
Here are some screenshots of my form:
pls help,
thanks in advance..
If I understand the question correctly, you want to display the search results, but no longer show the search form. If this is the case, then move your second "post" div to the top and wrap it in an if:
if (!empty($_POST)) {
// Process POST results here:
...
die(); // end processing so the form doesn't display again
}

Parse error: syntax error, unexpected 'else' (T_ELSE) in php

Hey guys I m having a tricky issue but unable to get out of it.
Here I m providing a radio button with namely two option free or paid registration but when I going in else part I m receiving an error.
I checked out the syntax line by line still it is unable to resolve why I m getting and error for else.
Please check and help me out.
<?php $regtype = (isset($postdata['regtype']))? $postdata['regtype']:0;?>
Registration Type: <?php echo $form->radio("regtype",array('0' => $translate->_("Free"),'1' =>$translate->_("Paid")),array('separator'=>"\n",'value'=>$regtype));?>
<?php $type = $_POST['data[regtype]'];?>
<?php if ($type == "Free")
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="POST">
<?php if($agency['monthly_fee'] != ''):?>
<?php echo $form->hidden("monthly_fee",array('value'=>$agency['monthly_fee']));?>
<?php endif;?>
<table class="list" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="200">Plan</th>
<td>
<?php $a="Monthly Rs.600"; $b="3 months Rs. 1,650"; $c="12 months Rs. 6,000"; ?>
<?php echo $form->select("plan",array($a=>'Monthly Rs.600',$b=>'3 months Rs. 1,650',$c=>'12 months Rs. 6,000'),$postdata["plan"]);?>
</td>
</tr>
<tr>
<th width="200"><?php echo $translate->_("student_master_name");?></th>
<td>
<?php echo $translate->_("student_master_name1");?>:<?php echo $form->text("name1",array('value'=>$postdata["name1"]));?>
<?php echo $translate->_("student_master_name2");?>:<?php echo $form->text("name2",array('value'=>$postdata["name2"]));?>
</td>
</tr>
<?php if($gl_locale=="ja"):?>
<tr>
<th>ローマ字</th>
<td>
Surnames:<?php echo $form->text("roma1",array('value'=>$postdata["roma1"]));?>
Given names:<?php echo $form->text("roma2",array('value'=>$postdata["roma2"]));?>
</td>
</tr>
<?php endif;?>
<tr>
<th scope="row"><?php echo $translate->_("student_master_gender");?></th>
<td>
<?php $gender = (isset($postdata['gender']))? $postdata['gender']:0;?>
<?php echo $form->radio("gender",array('0' => $translate->_("common_male"),'1' =>$translate->_("common_female")),array('separator'=>"\n",'value'=>$gender));?>
</td>
</tr>
<tr>
<th scope="row"><?php echo $translate->_("student_master_birth");?></th>
<td>
<?php echo $form->year("birth",1900,date("Y"),$postdata['birth_year'],array('name'=>'data[birth_year]'),"----"); ?><?php echo $translate->_("common_year");?>
<?php echo $form->month("birth",$postdata['birth_month'],array('name'=>'data[birth_month]'),"--");?><?php echo $translate->_("common_month");?>
<?php echo $form->day("birth",$postdata['birth_day'],array('name'=>'data[birth_day]'),"--");?><?php echo $translate->_("common_day");?>
</td>
</tr>
<tr>
<th><?php echo $translate->_("student_master_country");?></th>
<td>
<?php echo $form->select("country_id",$country_data,$postdata['country_id'],array('id'=>'country'),$translate->_("common_choose"));?>
</td>
</tr>
<tr>
<th><?php echo $translate->_("student_master_email");?></th>
<td><?php echo $form->text("email",array('id'=>'mail','value'=>$postdata['email'])); ?></td>
</tr>
<tr>
<th width="200"><?php echo $translate->_("student_master_login_id");?></th>
<td><?php echo $form->text("login_id",array('class'=>'required ||','value'=>$postdata['login_id']));?> <?php echo $translate->_("bmat-entry-tdtxt");?></td>
</tr>
<tr>
<th><?php echo $translate->_("student_master_login_password");?></th>
<td><?php echo $form->password("login_password",array('class'=>'required ||','value'=>$postdata['login_password']));?></td>
</tr>
<tr>
<th><?php echo $translate->_("student_master_login_password");?>(<?php echo $translate->_("bmat-entry-thtxt");?>)</th>
<td><?php echo $form->password("login_password_cfm",array('class'=>'required ||','value'=>$postdata['login_password_cfm']));?></td>
</tr>
</table>
<?php if(!isset($postdata['c-code'])) $postdata['c-code'] = $coupon_code;?>
<?php echo $form->hidden("c-code",array('class'=>'||','value'=>$postdata['c-code']));?>
<?php echo $form->hidden('MemberInfoToken',array('value'=>$MemberInfoToken))?>
<?php echo $form->hidden('stat',array('value'=>'confirm'))?>
<?php //echo $form->hidden('entry_date',array('value'=>date('Y/m/d')))?>
<?php if($gl_locale == 'ja'):?>
<h3><?php echo $translate->_("bmat-entry-kiyaku");?></h3>
<div id="agreement" class="mrg-t10">
<p class="mrg-t10" style="font-weight:bold;">第1条(本規約の適用)</p>
<p>1. 本規約はイープランニング(以下当社という)が運営する特定ドメイン上のウェブサイト 「B-MAT」(以下当社ウェブサイトという)において提供する教育プログラムサービス(以下本サービスという)を、利用者 (第2条にて定義します)が利用する場合の遵守すべき諸条件を定めるものです。</p>
<p>2. 当社は、本サービスの各々について適宜、個別の利用規約(以下「個別規 約」といいます)を定めることができるものとします。</p>
<p style="font-weight:bold;">第2条(ご利用条件について)</p>
<p>利用者には、当社が当該利用者の利用登録を承認した時点で、当社が提供する本サー ビスを利用する資格(以下、「利用者資格」といいます)が与えられます。<br />
利用者は、本利用規約の他、当社が定める各種の規約(以下、「個別規程」といいます)に同意頂き、本サービ スをご利用ください。 なお、本利用規約と個別規程の定めが異なる場合には、個別規程の定めが優先するものとします。<br />
本利用規約および個別規程(以下、併せて「本利用規約等」といいます)については、利用者に対する事前の通 知なく、当社が変更できるものとします。 本利用規約等が変更された場合、当該変更後の利用者による本サービスの利用に は変更後の本利用規約等が適用されるものとし、当該利用により、利用者は当該変更に同意したものとみなされます。</p>
<p style="font-weight:bold;">第3条(著作権について)</p>
<p>本Webサイトに掲載されている著作物(文書、資料、画像、音声、動画等)の著作権は、 イープランニングまたはその他の権利者に帰属します。 これらの著作物につきましては、別段の定めがある場合を除き、私的 使用その他著作権法で特に認められている範囲を超えてご利用(複製、改変、上映、公衆送信、頒布、再使用許諾等を含 む)はできません。 仮に、営利目的でご使用になった場合、相応の使用料をいただくか、使用差し止めの処置を取る場合もあ りますのでご注意ください。</p>
<p style="font-weight:bold;">第4条(利用上の注意)</p>
<p>利用者は、利用に際して登録した情報(以下、「登録情報」といいます。メールアドレス やパスワード等を含みます)について、自己の責任の下、任意に登録、管理するものとします。 利用者は、第三者にパスワ ードを使用されることのないよう、以下の事項を守らなければなりません。</p>
<p>・第三者に自己のパスワードを公開しないこと。<br />
・複数の人間が使用するコンピュータならびに携帯電話上で本サービスを利用する場合は、本 サービスの利用を終えるときに必ずログアウトしウェブブラウザを終了させること。<br />
・複数の人間が使用するコンピュータ上で本サービスを利用する場合は、ログイン情報記録(ログイン時のメールアド レスとパスワードの入力を省略できる機能)の登録解除を行っておくこと。<br />
・当社は、登録されたパスワードによって本サービスの利用があった場合、利用登録をおこな った本人が利用したものと扱うことができ、当該利用によって生じた結果ならびにそれに伴う一切の責任については、利用登録 を行った本人に帰属するものとします。<br />
登録情報の管理は、利用者が自己の責任の下で行うものとし、登録情報が不正確または虚偽であったために利用 者が被った一切の不利益および損害に関して、当社は責任を負わないものとします。</p>
<p style="font-weight:bold;">第5条(個人情報について)</p>
<p>個人情報は、当社が別途定めるプライバシーポリシーに則り、適正に取り扱うこととしま す。 <br />
利用者の同意なく、機密保持契約を結んだ協力企業以外に利用者の個人情報を開示することはありません。ただ し、以下の場合に、個人情報を開示することがあります。</p>
<p>・法令に基づいて、開示が必要であると当社が合理的に判断した場合<br />
・人の生命、身体または財産の保護のために必要がある場合であって、本人の同意を得るこ とが困難であると判断した場合<br />
・公衆衛生の向上または児童の健全な育成の推進のために特に必要がある場合であって、本 人の同意を得ることが困難であると判断した場合<br />
・国の機関もしくは地方公共団体またはその委託を受けた者が法令の定める事務を遂行するこ とに対して協力する必要がある場合であって、本人の同意を得ることにより当該事務の遂行に支障を及ぼすおそれがあると判断 した場合<br />
・合併その他の事由によりサービスの主体が変更され、サービスの継続のため個人情報を移管する必要があると判断した場合</p>
<p>ワールドカップおよびワールドカップJrに入賞した場合は、名前と国名のみ当サイトのワールドカップサイト内に表示します。</p>
<p style="font-weight:bold;">第6条(免責)</p>
<p>・何らかの原因によるシステム障害が起こった場合、その時の獲得ポイントや賞品が無効となる場合があります。<br />
・ポイント獲得および商品交換など、諸所のルールが途中で変更になる場合があります。 </p>
</div><!--agreement-->
<div id="agree-chk">
<input type="hidden" name="data[agree]" value="0">
<label><input name="data[agree]" type="checkbox" value="1"> <?php echo $translate->_("bmat-entry-doui");?></label>
</div>
<?php else:?>
<input type="hidden" name="data[agree]" value="1">
<?php endif;?>
<div style="text-align:center" class="mrg-t10">
<input type="button" name="back" value=" <?php echo $translate->_("otn_member_entry_index_back");?> " onclick="history.back();"/>
<input type="submit" name="btnSubmit" value=" <?php echo $translate->_("otn_member_entry_index_confirm");?> " />
</div>
<?php endif;?>
</form>
<?php else:?> **<!-- Here I m getting an error -->**
<label>In paid registration</label>
<?php endif;?>
Looks like you might have an extra end if:
<?php else:?>
<input type="hidden" name="data[agree]" value="1">
<?php endif;?>
<div style="text-align:center" class="mrg-t10">
<input type="button" name="back" value=" <?php echo $translate->_("otn_member_entry_index_back");?> " onclick="history.back();"/>
<input type="submit" name="btnSubmit" value=" <?php echo $translate->_("otn_member_entry_index_confirm");?> " />
</div>
<?php endif;?>

how to create jquery hover

How do I create a jQuery hover to show a div when the mouse is over like twitter repla retweet and favorite?
Here is my HTML:
<div style="display:none;" id="blab">
<?php echo $blab_id; ?>
</div>
<a href="blab.php?id=<?php echo $blab_id; ?>">
<div class="blab_body" id="hover" value="Hide">
<table>
<tr>
<td valign="top">
<img src="<?php echo $profile_pic_info; ?>" class="blab_image" width="50" height="50" />
</td>
<td> </td>
<td>
<table>
<tr>
<td valign="top">
<a href="profile.php?id=$mem_id">
<strong><?php echo $added_fullname; ?></strong>
</a>
<?php echo $added_to_fullname; ?>
</td>
</tr>
<tr>
<td>
<?php echo $blab_body; ?>
</td>
</tr>
<tr>
<td>
<text style="color:gray;">
<?php echo $blab_date; ?>|<?php echo $device; ?>
</text>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="background:#000; display:none;" id="id"> </div>
</div>
</a>
<hr />
and here is my JavaScript code:
$('#id').hide();
$('#hover').hover(function () {
var blab_id = $('#blab').text();
$('#id').show();
}, function () {
$('#id').hide();
});
It shows the div for the first one only.
You can only use a certain ID once on the whole page! If you insert more than one copy of this div on the page, your HTML code becomes invalid. That's why jQuery only attaches the event handler to the first element.
The solution is to use class="hover_enabled" instead of id="hover" as it is allowed to add the same class to multiple elements. Here is how you would do it in jQuery:
$('.hover_enabled').hover(function() { ...
The same thing applies to #id.

loop through form

I have a couple of problems. I'm creating a form inside a table, from what I understand this is not a good idea. But because of the loop I want to make sure the table header is outside so it doesn't repeat. Is there a smarter way to do this?
Also more importantly I can't seem to get the delete button to remove the correct video. It seems to delete the last one in the list. Something wrong with how I'm looping over this?
<p>
<h3>Recorded Videos</h3>
<table id="webcam-table">
<thead>
<tr>
<td>Camera Name</td>
<td>Video Size</td>
<td>Date Created</td>
<td>Video Length</td>
<td>Video Options</td>
</tr>
</thead>
for($i=0;$i<$num_videos;$i++)
{
<form action="<?php htmlentities($_SERVER['PHP_SELF']);?>" method="POST">
<input type="hidden" name="video_id" value="<?php echo $result_videos[$i]["video_id"]; ?>" />
<tbody>
<tr>
<td>
<?php echo $result_videos[$i]["camera_name"]; ?>
</td>
<td>
<?php echo $result_videos[$i]["video_size"]; ?>
</td>
<td>
<?php echo $result_videos[$i]["video_datetime"]; ?>
</td>
<td>
<?php echo $result_videos[$i]["video_length"]; ?>
</td>
<td>
<input type="submit" name="delete_video" value="Delete" onClick="javascript:return confirm('Delete this video?');"/>
</td>
</tr>
</tbody>
}
echo "</table>";
echo "</form>";
echo "</p>";
}
}
if (isset($_POST['delete_video'])) {
$video_id = $_POST['video_id'];
$query_delete_video = 'DELETE FROM `#__videos` WHERE `video_id`='.$video_id;
$db->setQuery($query_delete_video);
$db->query();
header("location: " . $_SERVER['REQUEST_URI']);
In your loop you are creating the 'form' tag. However you are not closing it each time. This is causing your deleting problem.
Move
echo "</form>";
Inside the loop.
looks good to me, the only issue I see is that the tag should be outside the loop (opening before, closing after).
Revised code
<?
if (isset($_POST['delete_video']))
{
$video_id = $_POST['video_id'];
$query_delete_video = 'DELETE FROM `#__videos` WHERE `video_id`='.$video_id;
$db->setQuery($query_delete_video);
$db->query();
header("location: " . $_SERVER['REQUEST_URI']); //you should not allow things to be echoed before a header()
}
?>
<script type="text/javascript">
function onMySubmit(video_id)
{
document.myform.video_id.value = video_id;
return confirm('Delete this video?');
}
</script>
<p>
<h3>Recorded Videos</h3>
<!-- you had <?php htmlentities(...) ?>, you should have had
<?php echo htmlentities(...) ?> or <?= ... ?> -->
<form name="myform" action="<?= htmlentities($_SERVER['PHP_SELF']);?>" method="POST">
<input type="hidden" name="video_id" value="" />
<table id="webcam-table">
<thead>
<tr>
<td>Camera Name</td>
<td>Video Size</td>
<td>Date Created</td>
<td>Video Length</td>
<td>Video Options</td>
</tr>
</thead>
<tbody>
<? for($i=0;$i < $num_videos;$i++) { ?>
<tr>
<td><?= $result_videos[$i]["camera_name"]; ?></td>
<td><?= $result_videos[$i]["video_size"]; ?></td>
<td><?= $result_videos[$i]["video_datetime"]; ?></td>
<td><?= $result_videos[$i]["video_length"]; ?></td>
<td><input type="submit" name="delete_video" value="Delete" onClick="javascript:return onMySubmit(<?=$result_videos[$i]["video_id"];?>);"/></td>
</tr>
<? } ?>
</tbody>
</table>
</form>
</p>

Categories