PDA

View Full Version : سوال: نحوه تنظیم 8 کارت در یک صفحه A4



amin7x
دوشنبه 06 شهریور 1391, 19:12 عصر
سلام دوستان عزیز

من یک پروژه دارم که میخوام توی یک برگه a4 ، هشتا تا کارت ورود به جلسه رو چاپ کنه.

ساختارش میخوام این طوری باشه که 4 تا کارت سمت چپ و چهار تا کارت دیگه سمت راست باشه.

من از حلقه استفاده کردم ولی نمیدونم چه طوری وقتی 4 تا رو سمت راست چاپ کرد بره و چهار تا دیگه رو سمت دیگه چاپ کنه.

کد من



<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("cart",$con);
$sql="select * from carts";
$res=mysql_query($sql,$con);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>cart</title>
</head>
<body>
<div class="a4">
<?php
while($table=mysql_fetch_array($res))
{
?>
<table>
<td class="karttd">کارت ورود به جلسه</td>
<td class="image"> <img src="image/<?php echo $table['img'] ?>" width="100" height="100" /> </td>
<tr>
<td width="250">نام و نام خانوادگی : <?php echo $table['name'] ?></td>
<td width="145">نام پدر : <?php echo $table['nampedar'] ?></td>
</tr>
<tr>
<td>شماره شناسنامه : <?php echo $table['shenasname'] ?></td>
<td>شماره کارآموزی : <?php echo $table['id'] ?></td>
</tr>
<tr>
<td>شروع دوره : <?php echo $table['start'] ?></td>
<td>پایان دوره : <?php echo $table['end'] ?></td>
</tr>
<tr>
<td align="center">نام دوره : <?php echo $table['namdore'] ?></td>
</tr>
</table>
<br />
<?php } ?>
</div>
</body>
</html>


و آیا راهی هست که بدون حلقه مثلا همه 8 تا کارت رو به وسیله HTML محلشون رو تایین کنیم و فقط بگیم ای دی 1 محلش سمت چپ باشه و ای دی 2 محلش سمت راست باشه؟

یک سوال HTML هم دارم.
میخواستم بدونم چه طوری کادر دور سلول ها رو در یک تیبل پاک کنم که فقط کادر اصلی باشه؟
ممنون

amin7x
دوشنبه 06 شهریور 1391, 19:14 عصر
ساختار کارت ها:

http://www.up2.98ia.com/images/63020047612718557057.gif

ببخشید دوبار نوشتم کارت دو

amin7x
دوشنبه 06 شهریور 1391, 21:12 عصر
کسی نیست؟؟

MMSHFE
دوشنبه 06 شهریور 1391, 21:28 عصر
اولاً عنوان مناسب برای تاپیکتون انتخاب کنید (این بار صرفاً عنوان تاپیک شما اصلاح شد، درصورت تکرار، مطابق قوانین برخورد خواهد شد).
ثانیاً برای رفع مشکلتون باید از CSS3 استفاده کنید. مثال:


<style media="all" type="text/css">
.card1 {
border: solid thin #000;
height: 5cm;
left: 2cm;
position: absolute;
top: 2cm;
width: 8cm;
}
</style>
<div id="card1">
Card 1 Contents Here
</div>
به همین شکل میتونید برای بقیه کارتها هم style تعریف کنید و فقط کافیه برای هر کدوم کلاس جداگانه به همین شکل بسازین و خاصیتهای top و left اونها رو تغییر بدین تا سر جای مناسب قرار بگیرن.
موفق باشید.

amin7x
دوشنبه 06 شهریور 1391, 22:12 عصر
ممنون از پاسختون.

منتظریم...



من از حلقه استفاده کردم ولی نمیدونم چه طوری وقتی 4 تا رو سمت راست چاپ کرد بره و چهار تا دیگه رو سمت دیگه چاپ کنه.

و آیا راهی هست که بدون حلقه مثلا همه 8 تا کارت رو به وسیله HTML محلشون رو تایین کنیم و فقط بگیم ای دی 1 محلش سمت چپ باشه و ای دی 2 محلش سمت راست باشه؟

یک سوال HTML هم دارم.
میخواستم بدونم چه طوری کادر دور سلول ها رو در یک تیبل پاک کنم که فقط کادر اصلی باشه؟

MMSHFE
سه شنبه 07 شهریور 1391, 15:08 عصر
دوست عزیز، من که راهنمایی کردم! شما باید توی CSS تعداد 8 کلاس تعریف کنید (card1. و card2. و...) و بعد، توسط حلقه محتوای هر کارت رو چاپ کنید. منتها باید حواستون باشه که برای هر دور حلقه، یک div با همون کلاس تولید کنید.

amin7x
چهارشنبه 08 شهریور 1391, 15:46 عصر
دوست عزیز، من که راهنمایی کردم! شما باید توی CSS تعداد 8 کلاس تعریف کنید (card1. و card2. و...) و بعد، توسط حلقه محتوای هر کارت رو چاپ کنید. منتها باید حواستون باشه که برای هر دور حلقه، یک div با همون کلاس تولید کنید.

اهان یعنی منظور شما اینکه من 8 تا کارت خودم تولید کنم.

بعد به حلقه بگم که اون هارو چاپ کنه.
درسته؟

راستی من چه طوری به حلقه بفهمونم که جای کارت 3 وسط سمت چپه؟؟

MMSHFE
چهارشنبه 08 شهریور 1391, 19:08 عصر
دوست گرامی، شما 8 تا کارت رو خودتون نمیسازین، حلقه اونها رو میسازه. شما فقط 8 تا کلاس توی CSS تعریف میکنید و حلقه شما باید محتوای کارتها رو توی اون 8 کلاس بچینه. ضمناً اینکه هر کارت کجا قرار میگیره هم توسط CSS تعیین میشه. مثال:


<!doctype html>
<html>
<head>
<title>CSS Card Demo</title>
<meta charset="utf-8"/>
<link href="style.css" rel="stylesheet" type="text/css"/>
<style media="all" type="text/css">
.a4 {
height: 297mm;
left: 0;
position: absolute;
top: 0;
width: 210mm;
}
*[class^=card] {
border: solid thin #000;
height: 5cm;
position: absolute;
width: 8cm;
}
.card1, .card3, .card5, .card7 {
left: 2cm;
}
.card2, .card4, .card6, .card8 {
left: 11cm;
}
.card1, .card2 {
top: 2cm;
}
.card3, .card4 {
top: 9cm;
}
.card5, .card6 {
top: 16cm;
}
.card7, .card8 {
top: 23cm;
}
</style>
</head>
<body>
<div class="a4">
<?php
mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('cart') or die('Database error');
$sql = 'SELECT * FROM `carts` ORDER BY `id`';
$cards = mysql_query($sql);
if($cards && mysql_num_rows($cards) > 0) {
$i = 1;
while($card = mysql_fetch_array($cards)) {
echo '<div class="card' . $i . '">' . PHP_EOL;
echo '<table>' . PHP_EOL;
echo '<tr>';
echo '<td class="karttd" width="250px">کارت ورود به جلسه</td>';
echo '<td class="image" width="145px"><img height="100px" src="image/' . $card['img'] . '" width="100px"/></td>';
echo '</tr>' . PHP_EOL;
echo '<tr>';
echo '<td>نام و نام خانوادگی : ' . $card['name'] . '</td>';
echo '<td>نام پدر : ' . $card['nampedar'] . '</td>';
echo '</tr>' . PHP_EOL;
echo '<tr>';
echo '<td>شماره شناسنامه : ' . $card['shenasname'] . '</td>';
echo '<td>شماره کارآموزی : ' . $card['id'] . '</td>';
echo '</tr>' . PHP_EOL;
echo '<tr>';
echo '<td>شروع دوره : ' . $card['start'] . '</td>';
echo '<td>پایان دوره : ' . $card['end'] . '</td>';
echo '</tr>' . PHP_EOL;
echo '<tr>';
echo '<td colspan="2">نام دوره : ' . $card['namdore'] . '</td>';
echo '</tr>' . PHP_EOL;
echo '</table>' . PHP_EOL;
echo '</div>' . PHP_EOL;
$i++;
}
mysql_free_result($cards);
}
?>
</div>
</body>
</html>

موفق باشید.