bootstrap and codeIgniter data display in table - php

<table class="table table-bordered table-hover">
<?php foreach ($pin_data as $pin) {
?>
<tr>
<td><?php echo $pin->location;?> <?php echo $pin->pincode;?></td>
</tr>
<?php
} ?>
</table>
Im fetching data from database.I wanted to display that data in table, but i wanted to display 5 column in a row. after that it start with new row. plz help.

you add < tr> in first value and you add "< /tr>" in fifth value. it will run.
<table class="table table-bordered table-hover">
<?php $timer=1;
foreach ($pin_data as $pin) {
if($timer%5==1)
{
?>
<tr>
<?php
}
?>
<td><?php echo $pin->location;?> <?php echo $pin->pincode;?></td>
if($timer%5==0)
{
?>
</tr>
<?php
}
<?php
$timer++;
} ?>
</table>

Hope this will help you :
Do something like this :
<table class="table table-bordered table-hover">
<?php foreach ($pin_data as $pin) { ?>
<tr>
/*change your column name as according to you*/
<td><?php echo $pin->location;?></td>
<td><?php echo $pin->pincode;?></td>
<td><?php echo $pin->location;?></td>
<td><?php echo $pin->pincode;?></td>
<td><?php echo $pin->location;?></td>
</tr>
<?php } ?>
</table>

You can use the modulus operator and a counter:
<table class="table table-bordered table-hover">
<tr> <!-- start initial row -->
<? $counter = 1;
foreach ($pin_data as $pin):?>
<td>
<?= $pin->location;?> <?= $pin->pincode;?>
</td>
<?if($counter % 5 == 0):?> //if $counter is a multiple of 5, close the current row and start an new one
</tr>
<tr>
<?endif;?>
<? $counter++;?>
<?endforeach;?>
</table>

Related

How do i hide my table in first time and show after user search something?

i'm trying to build a website where users can find location of my company, but i need to hide the information at the first time and only show the location that users needed.
Here's my code:
<?php
$condition = '';
if(isset($_REQUEST['Kota']) and $_REQUEST['Kota']!=""){
$condition .= ' AND Kota LIKE "%'.$_REQUEST['Kota'].'%" ';
}
if(isset($_REQUEST['Outlet']) and $_REQUEST['Outlet']!=""){
$condition .= ' AND Outlet LIKE "%'.$_REQUEST['Outlet'].'%" ';
}
if(isset($_REQUEST['Alamat']) and $_REQUEST['Alamat']!=""){
$condition .= ' AND Alamat LIKE "%'.$_REQUEST['Alamat'].'%" ';
}
$userData = $db->getAllRecords('lokasi','*',$condition,'ORDER BY id DESC');
?>
<div>
<table class="table table-striped table-bordered">
<thead>
<tr class="bg-primary text-white">
<th>No</th>
<th>Cabang GO</th>
<th>Nama Kota</th>
<th>Alamat Outlet</th>
<th>No Telepon</th>
</tr>
</thead>
<tbody>
<?php
$s = '';
foreach($userData as $val){
$s++;
?>
<tr>
<td><?php echo $s;?></td>
<td><?php echo $val['Kota'];?></td>
<td><?php echo $val['Outlet'];?></td>
<td><?php echo $val['Alamat'];?></td>
<td><?php echo $val['Nomor'];?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
Start out with <div style=visibility:hidden>. Later change it to 'visible' using JavaScript code.
All the Code you have added is fine, you need few more things to add and it will be all working.
Add HTML Form with an input field for entering searching location and a submit button.
<form action="" method="post">
Search Location: <input type="text" name="location"> <input type="submit" name="submit">`enter code here`
</form>
Add "if" Condition to check the user submitted the form and the result from the db is not empty before the table, where you are displaying all the locations.
<?php if(isset($_POST['submit']) && count($userData) > 0){ ?>
<table class="table table-striped table-bordered">
<thead>
<tr class="bg-primary text-white">
<th>No</th>
<th>Cabang GO</th>
<th>Nama Kota</th>
<th>Alamat Outlet</th>
<th>No Telepon</th>
</tr>
</thead>
<tbody>
<?php
$s = '';
foreach($userData as $val){
$s++;
?>
<tr>
<td><?php echo $s;?></td>
<td><?php echo $val['Kota'];?></td>
<td><?php echo $val['Outlet'];?></td>
<td><?php echo $val['Alamat'];?></td>
<td><?php echo $val['Nomor'];?></td>
</tr>
<?php } ?>
</tbody>
</table>
<?php } ?>

how to create link for one user id from datatable and view only that user id detail in next page?

I have a function manage_child which it is in a datatables that show all children details. My problem is I want to view only one child details at another pages. I have tried to implement this example of code in my function but it didnt work since I call it like this:
`<td><a href="?pages=child_view"</a><?php_e($child_id); ?></td>`
I have link the page where the details should go but it didn't work. I am still in my basic using php and I use mysqli for the database.
This is the example that I tried to implement in my code but still doesn't work.
echo "<td>".$row[id]."</td>";
echo "<td>".$row[l_name]."</td>";
echo "<td>".$row[f_name]."</td>";
echo "<td>".$row[ssn]."</td>";
this is my code
function manage_child(){
$query = query("SELECT * FROM register_child");
confirm($query);
?>
<div class='container-fluid'>
<div class='row'>
<h1 class="page-header">Children
<small>Information</small>
</h1>
<div class="panel-body">
<div class="dataTable_wrapper">
<table width="50%" class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>No</th>
<th>CHild ID</th>
<th>Child IC</th>
<th>Name</th>
<th>Address</th>
<th>Mother name</th>
</tr>
</thead>
<tbody>
<?php
$bil = 0;
while($row = fetch_array($query)) {
$password = $row['ic_no'];
$child_id = $row['child_id'];
$child_name = $row['child_name'];
$address = $row['address'];
$mother_name = $row['mother_name'];
$bil++;
?>
<tr class="odd gradeX">
<td><?php echo $bil; ?></td>
<td><?php _e($password);?></td>
<td><a href="?pages=child_view"</a><?php _e($child_id); ?></td>
<td><?php _e($child_name); ?></td>
<td><?php _e($address); ?></td>
<td><?php _e($mother_name); ?></td>
<?php
}// End of while
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<?php
}

How to fix broken line of table when querying information from database

am trying to get data from the database using php i have about four fields in my database, using the code below my table gets broken when querying from database into the table..
this is mycodeenter image description here
public function departments_view($dept_id){
$query = $this->db->prepare("SELECT * FROM materials_tbl WHERE dept_id = $dept_id");
$query->execute();
if($query->rowCount()>0){
?>
<div class="table-responsive">
<?php
while($row=$query->fetch(PDO::FETCH_ASSOC)){
?>
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Material Code</th>
<th>Topic</th>
<th>Description</th>
<th>Path</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $row["material_code"];?></td>
<td><?php echo $row["topic"];?></td>
<td><?php echo $row["description"];?></td>
<td><?php echo $row["path"];?></td>
</tr>
</tbody>
</table>
<?php
}
?>
</div>
<?php
}else {
echo 'Nothing here.';
}
}
Try this code,
Actually what mistake you've made is you've put table, tbody and table header inside the loop, that's why your table was breaking.
public function departments_view($dept_id){
$query = $this->db->prepare("SELECT * FROM materials_tbl WHERE dept_id = $dept_id");
$query->execute();
if($query->rowCount()>0){
?>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Material Code</th>
<th>Topic</th>
<th>Description</th>
<th>Path</th>
</tr>
</thead>
<tbody>
<?php
while($row=$query->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td><?php echo $row["material_code"];?></td>
<td><?php echo $row["topic"];?></td>
<td><?php echo $row["description"];?></td>
<td><?php echo $row["path"];?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<?php
}else {
echo 'Nothing here.';
}
}

how to pass values between tabs in a html page using php

how can I pass values/ variables between tabs in html using php
I have 3 tabs those are fetched from database. each tab has separate id.
<div class="tab-nav">
<?php while ($row1 = mysql_fetch_array($result1)) : ?>
<?php $row1['name']; ?>
<?php endwhile ?>
</div>
tabs
<div class="tab-holder">
<div class="tab">
<table class="table table-striped">
<thead>
<tr>
<th width="34%">Job Title</th>
<th width="15%">Experience</th>
<th width="29%">Location</th>
<th width="8%">Salary</th>
<th width="7%"></th>
</tr>
</thead>
<tbody>
<?php
while($row = mysql_fetch_array($result)) {
$cat = $row['cat'];
if ($cat =='6') {
$jobtitle = $row['vVacjobtitle'];
?>
<tr>
<td>
<span class="pill medium green"><?php echo $row['vVacjobtitle'] ?></span>
</td>
<td><?php echo $row['experience'] ?></td>
<td><?php echo $row['vVacLocation'] ?></td>
<td><?php echo $row['salary'] ?></td>
<td>
Apply
</td>
</tr>
<?php
}
} ?>
</tbody>
</table>
</div>
how can i get id when clicking the tab
if ($cat == 6)
i want to place id in the place of 6
Thanks in advance .. :)
Since you're passing the value of id as a GET parameter, so you can access it by $_GET['id'] in your PHP code

Bootstrap3 fixed column for table

I checked thrice in SOF, for a solution regarding Bootstrap framework 3.
Even this demo is not working in my system. http://jsfiddle.net/koala_dev/4XG7T/2/
So, I have a matrix type table that will populate 'n' number of records both horizontally and vertically.
My below code is working fine if there is 5-8 columns, but if there are more than 20 columns the table is collapsed.
In other words, I need something that will keep the header part alone fixed. i.e first row with 'n' number of columns.
How can I achieve that? Could someone redefine my below code.
<div class="container">
<form action="post.php" method="post">
<div class="table responsive">
<table class="table table-striped table-hover" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<th>S.No</th>
<?php while($row = mysql_fetch_array( $myloop )) { ?>
<th><?php echo $row['book_name']; ?></th>
<?php } ?>
</tr>
<tr>
<?php while($row1 = mysql_fetch_array( $myloop1 )) { ?>
<td><?php echo $row1['author_name']; ?></td>
<td><?php echo $row1['author_rating']; ?></td>
<?php } ?>
</tr>
</tbody>
</table>
</div>
</form>
</div>
To make it simple I want the below row to be fixed so that I can scroll horizontally and check the records.
<tr>
<th>S.No</th>
<?php while($row = mysql_fetch_array( $myloop )) { ?>
<th><?php echo $row['book_name']; ?></th>
<?php } ?>
</tr>
Any help?
Thanks,
Kimz

Categories