PDA

View Full Version : سوال: نمایش خروجی کوئری در جدول



rash44
پنج شنبه 08 خرداد 1393, 10:46 صبح
سلام
پس از واکشی از دیتابیس ، رکوردها رو توی جدول نمایش میدم .
میخوام جدول رو به صورت زیر نمایش بدم .


<table border="1" width="100%" id="table1" dir="rtl">
<tr>
<td align="center">record 1</td>
<td align="center">record 2</td>
<td align="center">record 3</td>
<td align="center">record 4</td>
<td align="center">record 5</td>
</tr>
<tr>
<td align="center">record 6</td>
<td align="center">record 7</td>
<td align="center">record 8</td>
<td align="center">record 9</td>
<td align="center">record 10</td>
</tr>
</table>

مثلا محتوای فیلد name رکورد اول در فیلد اول جدول و محتوای فیلد name رکورد دوم در فیلد دوم جدول

لطفا راهنمائی کنید

rash44
پنج شنبه 08 خرداد 1393, 10:52 صبح
تصویر جدول مورد نظر در بخش ضمیمه موجود هست

برق ، عمران ، دام و طیور ، سرامیک و ... محتوای یک فیلد بنام name در جدول هست

rash44
جمعه 09 خرداد 1393, 16:24 عصر
لطفا راهنمائی کنید

ممنون

us1234
جمعه 09 خرداد 1393, 22:51 عصر
یک حلقه foreach میذارید و داخلش <tr> و بقیه ستون ها قرار دهید .
مشابه این کد :


<?phpforeach($res as $item)
{
echo ' <tr>
<td align="center">'.$item['id'].'</td>
<td align="center">'.$item['name'].'</td>
<td align="center">'.$item['...'].'</td>
<td align="center">'.$item['...'].'</td>
<td align="center">'.$item['...'].'</td>
</tr>';
}
?>

rash44
دوشنبه 12 خرداد 1393, 09:52 صبح
یک حلقه foreach میذارید و داخلش <tr> و بقیه ستون ها قرار دهید .
مشابه این کد :


<?phpforeach($res as $item)
{
echo ' <tr>
<td align="center">'.$item['id'].'</td>
<td align="center">'.$item['name'].'</td>
<td align="center">'.$item['...'].'</td>
<td align="center">'.$item['...'].'</td>
<td align="center">'.$item['...'].'</td>
</tr>';
}
?>

ممنون از شما
من میخوام توی <td> ها فقط محتوای یک فیلد رو نمایش بدم . به طور مثال محتوای فیلد name ، در td اول محتوای فیلد name رکورد اول ، در td دوم محتوای فیلد name رکورد دوم و ....

us1234
دوشنبه 12 خرداد 1393, 11:01 صبح
ممنون از شما
من میخوام توی <td> ها فقط محتوای یک فیلد رو نمایش بدم . به طور مثال محتوای فیلد name ، در td اول محتوای فیلد name رکورد اول ، در td دوم محتوای فیلد name رکورد دوم و ....

باید آرایه مورد نظر را تشکیل بدید و بعد با روش بالا که گفتم انجام بدید .

rash44
سه شنبه 13 خرداد 1393, 08:51 صبح
باید آرایه مورد نظر را تشکیل بدید و بعد با روش بالا که گفتم انجام بدید .

مشکلی توی واکشی اطلاعات ، ایجاد آرایه و ... ندارم . فقط نمی دونم جدول فوق ا به چه صورت پیاده سازی کنم . اگر امکان داره یک مثال بزنید . فقط میخوام مقدار یک فیلد از بانک اطلاعاتی رو توی جدول نمایش بدم و در هر td مقدار فیلد رکورد بعدی نمایش بدم

rash44
چهارشنبه 14 خرداد 1393, 09:38 صبح
لطفا راهنمائی کنید

us1234
چهارشنبه 14 خرداد 1393, 11:17 صبح
ببنید اون روش آرایه که گفتم باید یه همچین آرایه را تشکیل دهید :


$arra[0]['id1'] = '1';
$arra[0]['id2'] = '2';
$arra[0]['id3'] = '3';
$arra[0]['id4'] = '4';
$arra[1]['name1'] = 'ali';
$arra[1]['name2'] = 'ahmad';
$arra[1]['name3'] = 'akbar';
$arra[1]['name4'] = 'ebi';


ولی کلا این روش ها اصولی نیست . روش اصولی استفاده از ul , li است و با css به صورت افقی درش بیارید خیلی ساده تر از کار کردن با جدول است .

rash44
پنج شنبه 15 خرداد 1393, 13:14 عصر
ببنید اون روش آرایه که گفتم باید یه همچین آرایه را تشکیل دهید :


$arra[0]['id1'] = '1';
$arra[0]['id2'] = '2';
$arra[0]['id3'] = '3';
$arra[0]['id4'] = '4';
$arra[1]['name1'] = 'ali';
$arra[1]['name2'] = 'ahmad';
$arra[1]['name3'] = 'akbar';
$arra[1]['name4'] = 'ebi';


ولی کلا این روش ها اصولی نیست . روش اصولی استفاده از ul , li است و با css به صورت افقی درش بیارید خیلی ساده تر از کار کردن با جدول است .

لطفا این کد رو اصلاح کنید


<?php
$q="SELECT `id`,`name`,`pict`,`com` FROM `datacntr` ORDER BY `id` DESC LIMIT 15";
$r=mysql_query($q);
$item=mysql_fetch_assoc($r);
?>
<table border="1" width="99%" id="table1">
<?php $i=0; foreach($item as $i) { $i++; ?>
<tr>
<td align="center" width="25%"><?php echo $item[$i]['name']; ?>نام محصول</td>
<td align="center" width="25%"><?php echo $item[$i]['name']; ?>نام محصول</td>
<td align="center" width="25%"><?php echo $item[$i]['name']; ?>نام محصول</td>
<td align="center" width="25%"><?php echo $item[$i]['name']; ?>نام محصول</td>
</tr>
<tr>
<td align="center" width="25%">توضیحات محصول<?php echo $item[$i]['com']; ?></td>
<td align="center" width="25%">توضیحات محصول<?php echo $item[$i]['com']; ?></td>
<td align="center" width="25%">توضیحات محصول<?php echo $item[$i]['com']; ?></td>
<td align="center" width="25%">توضیحات محصول<?php echo $item[$i]['com']; ?></td>
</tr>
<?php } ?>
</table>

us1234
پنج شنبه 15 خرداد 1393, 15:29 عصر
<?php$q="SELECT `id`,`name`,`pict`,`com` FROM `datacntr` ORDER BY `id` DESC LIMIT 15";
$r=mysql_query($q);
$item=mysql_fetch_assoc($r);
?>
<?php
$i=0;
$arr = '';
foreach($item as $it)
{
$i++;
$arr[$i]['name'.$i] = $it['name'];
$arr[$i]['com'.$i] = $it['com'];

}
?>


<table border="1" width="99%" id="table1">
<?php $i=0; foreach($arr as $item) { $i++; ?>
<tr>
<td align="center" width="25%"><?php echo ; ?>نام محصول</td>
<td align="center" width="25%"><?php echo $arr[$i]['name'.$i]; ?>نام محصول</td>
<td align="center" width="25%"><?php echo $arr[$i]['name'.$i]; ?>نام محصول</td>
<td align="center" width="25%"><?php echo $arr[$i]['name'.$i]; ?>نام محصول</td>
</tr>
<tr>
<td align="center" width="25%">توضیحات محصول<?php echo $arr[$i]['com'.$i]; ?></td>
<td align="center" width="25%">توضیحات محصول<?php echo $arr[$i]['com'.$i]; ?></td>
<td align="center" width="25%">توضیحات محصول<?php echo $arr[$i]['com'.$i]; ?></td>
<td align="center" width="25%">توضیحات محصول<?php echo $arr[$i]['com'.$i]; ?></td>
</tr>
<?php } ?>
</table>

البته تست نشده . دسترسی به لوکال هاست برای تست ندارم .

rash44
شنبه 17 خرداد 1393, 09:54 صبح
سلام
کد رو تست کردم اما کل جدول فقط با مقدار یک رکورد تکمیل و نمایش داده میشه
119980

rash44
شنبه 17 خرداد 1393, 16:09 عصر
لطفا راهنمائی کنید

MMSHFE
شنبه 17 خرداد 1393, 16:21 عصر
اینو تست کنید:

$result = mysql_query('SELECT `id`,`name`,`com` FROM `datacntr` ORDER BY `id` DESC LIMIT 15');
$items = array();
if($result && mysql_num_rows($result) > 0) {
while($item = mysql_fetch_assoc($result)) {
$items[] = array(
'name' => $item['name'],
'com' => $item['com'],
);
}
mysql_free_result($result);
}
$c = count($items);
if($c > 0) {
$itemsPerRow = 4;
echo '<table border="1" cellpadding="5px" cellspacing="0" width="100%" id="table1">' . PHP_EOL;
for($i = 0; $i < $c; $i++) {
echo ' <tr>' . PHP_EOL;
for($j = 0; $j < $itemsPerRow; $j++) {
echo ' <td align="center" width="' . floor(100 / $itemsPerRow) . '%">';
echo (isset($items[$i]) ? $items[$i]['name'] : '&nbsp;');
echo '</td>' . PHP_EOL;
$i++;
}
echo ' </tr>' . PHP_EOL;
$i -= 4;
echo ' <tr>' . PHP_EOL;
for($j = 0; $j < $itemsPerRow; $j++) {
echo ' <td align="center" width="' . floor(100 / $itemsPerRow) . '%">';
echo (isset($items[$i]) ? $items[$i]['com'] : '&nbsp;');
echo '</td>' . PHP_EOL;
$i++;
}
echo ' </tr>' . PHP_EOL;
$i--;
}
echo '</table>' . PHP_EOL;
}
این کد بخاطر اینکه میخواستین توی یک سطر اسم و توی سطر دیگه توضیحات ظاهر بشه (چیزی که من از کدتون فهمیدم)، یکم پیچیده شد وگرنه چیز خاصی نداره.

rash44
شنبه 17 خرداد 1393, 17:06 عصر
ممنون

1 مشکل وجود داره
119989

7 رکورد دارم ولی خروجی بجای 7 ، 14 تا نمایش داده میشه

برای حل مشکل باید کد رو به چه صورت تغییر بدم ؟

rash44
یک شنبه 18 خرداد 1393, 17:10 عصر
با سلام

لطفا راهنمائی کنید

rash44
سه شنبه 20 خرداد 1393, 09:25 صبح
با سلام

لطفا راهنمائی کنید

MMSHFE
سه شنبه 20 خرداد 1393, 09:45 صبح
کد کاملتون رو بنویسید.

cpuram
سه شنبه 20 خرداد 1393, 10:10 صبح
چرا روی table پافشاری میکنید وقتی با ul و li کدتون بهینه تر و ساده تر میشه؟

rash44
سه شنبه 20 خرداد 1393, 17:31 عصر
کد کاملتون رو بنویسید.





$result = mysql_query('SELECT * FROM `kala` ORDER BY `id` DESC LIMIT 24');
$items = array();
if($result && mysql_num_rows($result) > 0) {
while($item = mysql_fetch_assoc($result)) {
$items[] = array(
'id' => $item['id'],
'name' => $item['name'],
'price' => $item['price'],
'pict' => $item['pict'],
);
}
mysql_free_result($result);
}
$c = count($items);
if($c > 0) {
$itemsPerRow = 6;
echo '<table border="0" cellpadding="5px" cellspacing="0" width="100%" id="table1">' . PHP_EOL;
for($i = 0; $i < $c; $i++) {
echo ' <tr>' . PHP_EOL;
for($j = 0; $j < $itemsPerRow; $j++) {
echo '<td align="center" width="' . floor(100 / $itemsPerRow) . '%" bgcolor="#F9F9F9">';
echo '<img border="0" src="productlist/' . $items[$i]['product'] . ' " width="100px" height="100px" style="border: 1px solid #CCCCCC; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px">';
echo '<BR>';
echo (isset($items[$i]) ? $items[$i]['name'] : '&nbsp;');
echo '</font></b>';
echo '</td>' . PHP_EOL;
$i++;
}
echo ' </tr>' . PHP_EOL;
$i -= 6;
echo ' <tr>' . PHP_EOL;
for($j = 0; $j < $itemsPerRow; $j++) {
echo ' <td align="center" width="' . floor(100 / $itemsPerRow) . '%" bgcolor="#F3F3F3">';
echo '<font face="Tahoma" style="font-size: 9pt" color="#333">';
echo 'قیمت : ';
echo (isset($items[$i]) ? $items[$i]['price'] : '&nbsp;');
echo ' تومان ';
echo '</font>';
echo '</td>' . PHP_EOL;
$i++;
}
echo ' </tr>' . PHP_EOL;
$i--;
}
echo '</table>' . PHP_EOL;
}

rash44
سه شنبه 20 خرداد 1393, 17:42 عصر
چرا روی table پافشاری میکنید وقتی با ul و li کدتون بهینه تر و ساده تر میشه؟

سلام
ممنون از پاسخگوئی
نمونه ای که با ul و li پیاده سازی شده باشه سراغ دارید ؟

cpuram
سه شنبه 20 خرداد 1393, 18:19 عصر
<style>
ul
{
list-style-type: none;
direction:rtl;
}
ul.product_item
{

list-style-type: none;
float: right;
display: inline;
}

</style>

<?php
$q="SELECT `id`,`name`,`pict`,`com` FROM `datacntr` ORDER BY `id` DESC LIMIT 15";
$r=mysql_query($q);
?>
<body>
<ul >
<li>
<?php while($item = mysql_fetch_assoc($r)) { ?>

<ul class="product_item">
<li class="product_name"><?php echo $item['name']; ?>نام محصول</li>
<li class="product_comment">توضیحات محصول<?php echo $item['com']; ?></li>
</ul>

<?php } ?>
</li>
</ul>

اینو با css بکشید کنار هم