PDA

View Full Version : کمک در کد نویسی



hamedarian2009
سه شنبه 25 تیر 1392, 11:49 صبح
با سلام خدمت اساتید محترم
من یه تابع برای نمایش محصولات سایت فروشگاهی خودم درست کردم که محصولات رو توی table نشون میده ولی اشکال کار اینجاست که محصولات رو به صورت عمودی نشون میده یعنی در دو ستون نشون میده که یکی عکس محصول و یکی اسم محصول و اگه مثلا 10 تا محصول داشته باشم تو 10 تا ردیف نمایش میده و شکل مناسبی نداره
من میخام محصولات تو هر category سه تا محصول رو به صورت افقی و در کنار هم نمایش بده یعنی اگه 9 تا محصول داشتم تو سه ردیف نشون بده
اینم کدی که نوشتم لطفا ویرایشش کنید:


function display_products($product_array)
{
echo '<div class="div">';
if (!is_array($product_array))
{
echo '<br />هنوز محصولی به این بخش اضافه نشده است.در صورت نیاز به محصولی در این موضوع با مدیر سایت تماس بگیرید.<br />';
}
else
{
echo '<table width = \"100%\" border = 1>';

foreach ($product_array as $row)
{
$url = 'show_product.php?productid='.($row['productid']);
echo '<tr><td>';
if (@file_exists('images/'.$row['productid'].'.jpg'))
{
$title ='<img src=\'images/'.($row['productid']).'.jpg\' width="100" border=0>';
do_html_url($url, $title);
}
else
{
echo '&nbsp;';
}
echo '</td><td>';
$title = $row['title'].'&nbsp;&nbsp;&nbsp;'.$row['pname'];
do_html_url($url, $title);
echo '</td></tr>';
}
echo '</table>';
}
echo '<hr width="95%" />';
echo '</div>';
}

فرزند کوروش
سه شنبه 25 تیر 1392, 19:49 عصر
از div استفاده کن و با سی اس اس هر تعدادی که میخوای رو میتونی کنار هم بزاری

H:Shojaei
سه شنبه 25 تیر 1392, 20:32 عصر
سلام
فكر كنم اين بتونه كمكتون كنه فقط كافيه ديو هايي كه كلاسي به نام pic دارن رو داخل يه ديو با يه عرض ثابت به تندازه ي دلخواه بذاريد و عرض ها رو تغيير بدين.


<html>

<head>
<title></title>
</head>
<style>
div.pic
{
float:left;
text-align:center;
border:1px solid blue;
padding:10px;
margin:0px 3px 5px 0px;
}
div.pic img
{
opacity:0.6;
text-align:center;
filter:alpha(opacity=40);
display:inline;
border:1px solid #ffffff;

}
div.des
{
width:200px;
text-align:center;
color:#1111f9;
}
div.pic a:hover img
{
opacity:1;
filter:alpha(opacity=40);
border:1px solid black;
}
.text
{
color:#444477;
clear:both;
margin-bottom:18px;
text-decoration:underline;
}


</style>

<body>
<h3 class="text">galery1:</h3>
<div class="pic">
<a href=""><img src="1.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fdddddddddg</div>
</div>
<div class="pic">
<a href=""><img src="2.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="3.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="4.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="5.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="5.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="1.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>

<div class="pic">
<a href=""><img src="7.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="8.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<h3 class="text">galery2:</h3>
<div class="pic">
<a href=""><img src="7.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="1.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>
<div class="pic">
<a href=""><img src="1.jpg" width="100" height="100" alt="" border="0"></a>
<div class="des">fafdsafdsafdsa</div>
</div>




</div>

</body>

</html>

H:Shojaei
سه شنبه 25 تیر 1392, 20:35 عصر
البته با خود PHP (با يه فلگ) و يه تيبل هم ميشه همين كار رو انجام داد ولي اين بهينه تره.

hamedarian2009
چهارشنبه 26 تیر 1392, 17:29 عصر
با تشکر از دوستان این کدهایی که برام گزاشتین که خودم بلدم
ولی من میخام همین تابع رو ویرایش کنم الان این تابع به صورتی هست که فقط دوتا تگ <td> تولید میکنه ولی من میخام 6 تا تولید کنه ولی هرکار میکنم نمیشه به نظرتون نباید از حلقه for استفاده کنم؟

parsboy
چهارشنبه 26 تیر 1392, 18:01 عصر
با تشکر از دوستان این کدهایی که برام گزاشتین که خودم بلدم
ولی من میخام همین تابع رو ویرایش کنم الان این تابع به صورتی هست که فقط دوتا تگ <td> تولید میکنه ولی من میخام 6 تا تولید کنه ولی هرکار میکنم نمیشه به نظرتون نباید از حلقه for استفاده کنم؟
باسلام دوست عزیز اون قسمتی رو که میخوای نمایش بدی رو بذار توی حلقه ی While
موفق باشید

Javidhb
چهارشنبه 26 تیر 1392, 18:26 عصر
قسمتی از کدتون که مربوط به ساخت جدول میشه:
نتیجه اش یه جدول 3X3 برای 9تا محصول
برای تستش کافیه آرایه ای که 9تا یا هرچندتا محصول توشه رو به تابع بدید:چشمک:



function display_products($product_array)
{
echo '<div class="div">';
echo '<table width = \"100%\" border = 1><tr>';

$i = 0;
foreach ($product_array as $row)
{
$i++;
if($i%3) //return 0 --> 3vomin <td> nist!
{
echo '<td><h1>'. $i .'</h1></td>';
}
else //-> 3vomin <td>, ke bad az ezafe kardan <td> ye <tr> jadid dorost mikone
{
echo '<td><h1>' . $i .'</h1></td>';
echo '<tr>';
}
}

echo '</tr></table>';
echo '<hr width="95%" />';
echo '</div>';
}