PDA

View Full Version : بدست آوردن id متناظر ديتابيس با كليك روي عكس



itman4
سه شنبه 09 مهر 1392, 10:59 صبح
ضمن عرض خسته نباشيد به دوستان و تشكر از زحمات قابل تقديرتون

من يك صفحه طراحي كردم كه شامل چند قسمت براي نمايش متن تبليغاتي ، گالري عكس ، و پخش فيلم هست :
تو اين صفحه يك نوار از عكسهاي آپلود شده توسط كاربر دارم كه با دستور زير نمايش ميدم :



echo "<a href='http://parslook.com/form/advers.php'> <img src=\"" . $data['upload1'] . "\" border=\"0\" style=\"width:120px;height:120px;\"> </a> ";


و تو ديتابيس يك فيلد به نام code دارم كه همون آي دي يا شماره سطر ديتابيس هست.
ميخواستم دوستان محبت كنيد و راهنماييم كنيد كه چطور ميتونم با كليك روي هر كدوم از اين تصاوير ، كد (فيلد code) متناظر اون عكس رو در ديتابيس بدست بيارم و در يك متغير ذخيره كنم تا ازش براي نمايش ساير اطلاعات اون ركورد مثل فيلم و متن و ... در صفحه استفاده كنم.

با تشكر

as13851365
سه شنبه 09 مهر 1392, 13:21 عصر
echo '<a href="http://parslook.com/form/advers.php?id='.$data['upload1'].'"><img src="'.$data['upload1'].'" border="0" style="width:120px;height:120px;"></a>';

در آدرس advers.php هم باید مقدار ID رو با دریافت کنی

$id=$_GET['id']

امن کردن مقدار دریافتی با خودت

itman4
سه شنبه 09 مهر 1392, 15:23 عصر
خيلي لطف كردين. شماره id رو با اين كدي كه فرمودين درآوردم . فقط نميدونم چجوري محتواي فيلدهاي متناظر با اون id رو تو همون صفحه و كنار عكس كليك شده نشون بدم

itman4
سه شنبه 09 مهر 1392, 15:39 عصر
ولي اين كد جواب كار منو نداد! چون id همه عكس ها رو در زمان نمايش بهم ميده. در صورتي كه من فقط id عكسي رو ميخوام كه روش كليك شده.

mnvoh90
سه شنبه 09 مهر 1392, 15:54 عصر
echo '<a href="http://parslook.com/form/advers.php?id='.$data['upload1'].'"><img src="'.$data['upload1'].'" border="0" style="width:120px;height:120px;"></a>';

در آدرس advers.php هم باید مقدار ID رو با دریافت کنی

$id=$_GET['id']

امن کردن مقدار دریافتی با خودت

دوستمون درست می گه باید از یه همچین روشی استفاده کنید. ولی مشکل اینه توضحاتتون خیلی گنگ هست. مثلا معلوم نیست upload1 و code به هم ربط دارن یا نه. اگر که ساختار جدول هایی که Upload1 و code توشن رو بگید بهتر می تونیم کمکتون کنیم

itman4
سه شنبه 09 مهر 1392, 16:44 عصر
من فقط يك table به نام info دارم كه فيلدهاي upload1 تا upload11 و code و matn رو داخلش تعريف كردم. يعني به ازاي هر فيلد code ، ده فيلد هست كه آدرس عكسها رو داخل اونها دارم و يك فيلد آخر يعني upload11 آدرس فايل فيلم هست و فيلد matn هم شامل يك متن هست كه همه اينهارو بغير از code (كه اتوماتيك توليد ميشه) رو كاربر وارد ميكنه. حالا مي خوام توي صفحه اي كه طراحي كردم و اولين عكس از هر ركورد ( يعني عكسي كه آدرسش در فيلد upload1 هست ) رو به كاربر نشون ميده ، وقتي كاربر روي يكي از اون عكسها كليك كرد، مقدار فيلد code متناظر اون عكس در ديتابيس رو در يك متغير ذخيره كنه و من بفهمم كه كاربر روي كدوم عكس كليك كرده تا از طريق اون متغير و شماره رديفي (code) رو كه برگردونده ، ساير عكسها و متن و فيلم اون ركورد بانك رو تو همون صفحه و در جاي مشخص شده نمايش بده. اميدوارم توضيحاتم كامل باشه. ممنون

itman4
سه شنبه 09 مهر 1392, 19:10 عصر
دوستان لطفا جواب بدين

mnvoh90
سه شنبه 09 مهر 1392, 19:28 عصر
من فقط يك table به نام info دارم كه فيلدهاي upload1 تا upload11 و code و matn رو داخلش تعريف كردم. يعني به ازاي هر فيلد code ، ده فيلد هست كه آدرس عكسها رو داخل اونها دارم و يك فيلد آخر يعني upload11 آدرس فايل فيلم هست و فيلد matn هم شامل يك متن هست كه همه اينهارو بغير از code (كه اتوماتيك توليد ميشه) رو كاربر وارد ميكنه. حالا مي خوام توي صفحه اي كه طراحي كردم و اولين عكس از هر ركورد ( يعني عكسي كه آدرسش در فيلد upload1 هست ) رو به كاربر نشون ميده ، وقتي كاربر روي يكي از اون عكسها كليك كرد، مقدار فيلد code متناظر اون عكس در ديتابيس رو در يك متغير ذخيره كنه و من بفهمم كه كاربر روي كدوم عكس كليك كرده تا از طريق اون متغير و شماره رديفي (code) رو كه برگردونده ، ساير عكسها و متن و فيلم اون ركورد بانك رو تو همون صفحه و در جاي مشخص شده نمايش بده. اميدوارم توضيحاتم كامل باشه. ممنون
خوب همونجا code رو وارد کنید:


echo '<a href="http://parslook.com/form/advers.php?id='.$data['code'].'"><img src="'.$data['upload1'].'" border="0" style="width:120px;height:120px;"></a>';


بقیه اش رو هم که جناب as13851365 فرمودن. وقتی رو لینک کلیک بشه شما مقدار code رو می تونید با استفاده از $_GET['id'] بگیرید.

itman4
سه شنبه 09 مهر 1392, 19:48 عصر
خوب مشكل من دقيقا همينجاست كه نميدونم از
$id=$_GET['code']; چجوري بايد استفاده كنم تا مثلا عكس دوم همون ركورد (upload2) رو تو همون صفحه نشون بدم. ممنون ميشم توضيح بدين چجوري بايد كدش رو بنويسم

mnvoh90
سه شنبه 09 مهر 1392, 20:48 عصر
خوب مشكل من دقيقا همينجاست كه نميدونم از
$id=$_GET['co
de']; چجوري بايد استفاده كنم تا مثلا عكس دوم همون ركورد (upload2) رو تو همون صفحه نشون بدم. ممنون ميشم توضيح بدين چجوري بايد كدش رو بنويسم
بازم منظورتون واضح نیست که upload2 تو کدوم صفحه نمایش داده بشه.

اگر منظورتون صفحه ای هست که کد تو پست اول توشه به این شکل عمل کنید:


echo '<a href="http://parslook.com/form/advers.php?id='.$data['<b>code</b>'].'"><img src="'.$data['upload2'].'" border="0" style="width:120px;height:120px;"></a>';


اگر منظورتون تو صفحه ی advers.php?id=id هست به این شکل:



<?php
$code = (int)$_GET['id'];

//initialize your MySQLi connection here
$con = ...

//and then query the record which matches $code
$query = "SELECT * FROM `what_ever_your_table_name_is` WHERE `code`=$code";
$resultSet = mysqli_query($query, $con);
$row = mysqli_fetch_assoc($resultSet);

//now do what ever you want with $row['upload1'], $row['upload2'], and so on...
?>


امیدوارم جواب سوالتون روگرفته باشید ولی اگر نگرفتید شفاف سازی کنید تا بتونیم بهتر کمکتون کنیم :لبخندساده:

itman4
چهارشنبه 10 مهر 1392, 15:11 عصر
بله كامل گرفتم. البته تغييرات كوچيكي دادم تا جواب داد :


$result = mysqli_query($con,"SELECT * FROM info where code='$id'");

while($row = mysqli_fetch_array($result))
{
echo '<img src="'.$row['upload1'].'" border="0" style="width:120px;height:120px;">';


بي اندازه ممنونم از اينكه انقدر با حوصله و دقت ، جامع و كامل جواب دوستانتون رو مي ديد. اميدوارم هميشه زندگي به كامتون باشه