بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

گرفتن id از جدول های دیتابیس با جاوااسکریپت

مدیریت گفتگو
ابراهیم زاده 9 سال پیش
آخرین تغییر: 9 سال پیش

سلام . من میخوام تو پروژه note  وقتی رو دکمه access کلیک کردم بره و userId اون فردی که روش کلیک شده را برگردونه که استفاده کنم . راهش چیه؟

نظرات

پاسخ‌ها 6

سجاد عباسی 9 سال پیش

برای این کار باید به دکمه مربوطه یه لینک بدید به اینصورت :

 <a href="<?baseurl()?>/admin/getAccess/<?=$record['user_id']?>" > access </a
 

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

برای جاوااسکریپت باید از ajax استفاده کنید به اینصورت :‌

 <span onclick="access(<?=$record['user_id']?>)" > access </span>

نظرات

این میره تو کنترل ؟ بعد با جاوااسکریپت بگیرمش؟
سجاد عباسی 9 سال پیش
اگه منظورتون رو متوجه شده باشم برای جاوا اسکریپت باید به اینصورت عمل کنید.
ابراهیم زاده 9 سال پیش

من اینجوری نوشتم ولی نتیجه نگرفتم :

  function userToggle(sender) {
sender = $(sender);


// $.ajax('/notes-v2/note/user_toggle/'{
// type: 'post',
// dataType: 'json',
success: function (data) {
console.log('$user_id');
}

}

}


</script>
 

کنترولر:


public function userToggle(){

if(!isset($_SESSION['user_id'])){
exit;
}
$user_id= $_SESSION['user_id'];
return $user_id;
echo json_encode(array(
'status'=>true,
));
}
 

نظرات

سجاد عباسی 9 سال پیش
اسم کنترلر طبق code convention نیست. userID رو برا چی میخاین؟
میخوام userID رو بگیرم و وقتی میخوام دسترسی رو تغییر بدم فقط کلیک رو دکمه کنم و دیگه userID رو دستی وارد نکنم
سجاد عباسی 9 سال پیش
خب شما برای تغییر دسترسی به userId نیاز دارید که میتونید از طریق بالا هم به دو روش ajax, link داشته باشید و ازش استفاده کنید.
ابراهیم زاده 9 سال پیش

میشه لطف کنین ادامه خود script هم راهنمایی کنین . ممنونم

 <span onclick="access(<?=$record['user_id']?>)" > access </span>
<script>



</script>

نظرات

سجاد عباسی 9 سال پیش

شما به این طریق userId رو از طریق php بصورت پارامتر javascript قرار میدید و بعد با کلیک مقدار userId به تابع فرستاده میشه و میتونید از اون استفاده کنید و یه دستور ajax بفرستید. من کد رو تست نکردم اگه اشتباه تایپی داشت یا جایی مشکلی داشتید بگید.

 <span onclick="toggleAccess(<?=$record['user_id']?>)" > access </span>


<script>
function toggleAccess(userId) {


$.ajax('/notes-v2/note/userToggleAccess/' + userId , {
type: 'post',
dataType: 'json',
success: function (data) {
console.log(data.userId);
}

}

}
</script>

 

نظرات

ابراهیم زاده 9 سال پیش

سلام . کار نمیکنه . کور شدم ولی فایده نداره . اصلا alert  هم اجرا نمیشه

 foreach ( $records as $record){?>
<ul class="todo-user">
<li><?=$record['user_id']?></li>
<li><?=$record['email']?></li>
<li><?=$record['fullname']?></li>
<li><?=$record['nickname']?></li>
<li><?=$record['access']?></li>
<li><?=jdate($record['registerTime'])?></li>
<li><?=jdate($record['lastVisitTime'])?></li>
<li> <span class="btn-blue" onclick="toggleAccess(<?=$record['user_id']?>)" > access </li>

</ul >
<?}?>

</div>

<script>
function toggleAccess(userId) {
alert("fnf");


$.ajax('/notes-v2/admin/userToggleAccess/' + userId , {
type: 'post',
dataType: 'json',
success: function (data) {

}

}

}


</script>

اینم کنترولر : 

public function userToggleAccess($userId) {
$user_id= $_SESSION['user_id'];

echo json_encode(array(
'status'=>true,
));

}

 

نظرات

سجاد عباسی 9 سال پیش
یه سوال الان در کنترلر مقدار درست چاپ میشه و ارور چاپ نمیکنه؟
سجاد عباسی 9 سال پیش
الان متوجه یه مشکل تو کدتون شدم شما span رو نبستید!!!! <span$gt; رو فراموش کردید.
اصلا هیچی اجرا نمیشه . اون alert 'گزاشتم اونجا و لی اونم چاپ نمیشه
بستم ولی بازم هیچ . فایل های javascript و .... هم لود شده
سجاد عباسی 9 سال پیش
عجیبه احتمالا خطا دارید تو console نگاه کنید ببینید خطا ندارید.
نه اونجام خطا ندارم . باور کنید کور شدم . چند روزه روش کار میکنم . دوس دارم یادش بگیرم واقعا
سجاد عباسی 9 سال پیش
تو html خروجی ببینید جایی خطایی چاپ نشده....
ابراهیم زاده 9 سال پیش

عه اینجا userid رو میده ها . روی یوزر اول کلیک کردم . تو html

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .