PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل نسبت دادن در mysql



epooli
December 14th, 2010, 18:17
سلام.
بنده به یک کد نیاز دارم که پس از بررسی یک یوزر و پسوورد یک دیتابیس فیلد های دیگر آن را نشان دهد.
یعنی به عبارتی فیلدهای دیگر آن را به یک متغیر نسبت دهیم که هرجای صفحه خواستیم آن را نمایش دهیم.

اگه کسی می تونه کمک کنه.

Rezash
December 14th, 2010, 20:39
اموزش زير رو دنبال كنيد به نتيجه مي رسيد :
http://www.webhostingtalk.ir/f148/14266/
فرض كنيد قصد داريم كل فيلدها و مقادير جدول config رو در يك آرايه داشته باشيم :


//select
$q = mysql_query("SELECT * FROM `config`") or die(mysql_error());
//fetch data
$config = mysql_fetch_array($q);
// test :
print_r($config);

epooli
December 15th, 2010, 01:10
ببخشید من هرچی فکر کردم نتونستم جلوتر برم. تا اینجایی که پیش رفتم رو براتون ضمیمه کردم. اگه امکان داره بگین مشکل کارم کجاست.
در ضمن از جدول member در دیتابیس راش استفاده کردم تا ایمیل رو نشون بدم مثلا.

ممنون میشم اگه مشکل کار من را حل کنید.

Rezash
December 15th, 2010, 01:28
1. در بخش لوگين :


$_SEESION["user"] = '$user';
$_SESSION["user"] = true;

اين كار عملا اشتباست
- قرار دادن متغير داخل single quotes (') موجب ميشه متغير يك رشته به حساب بياد.
- شما بار دوم مقدار سشن يوزر رو فقط برابر true قرار داديد.
صحيح :


$_SEESION["user"] = $user;

پ.ن : يا استفاده از " به جاي '
2. در فايل users.php
- بهتره config.php رو اينكلود كنيد تا كد نويسي دوباره
- كد زير اشتباست :


$q = mysql_query("SELECT email FROM `member` WHERE `user` = '$user';");
$config = mysql_fetch_array($q);
print_r($config);

دلايل :
- متغير user تعريف نشده
- فكر كنم قصد داريد تمام فيلد ها رو انتخاب كنيد.
صحيح :


$user = $_SESSION["user"];
$q = mysql_query("SELECT * FROM `member` WHERE `user` = '$user';");
$config = mysql_fetch_array($q);
print_r($config);

epooli
December 15th, 2010, 10:11
با این کار در متغیر یوزر 1 ذخیره شده است.
کدشما رو که جایگزین کردم هیچی نشان نداد.
اگه میشه یه بار دیگه شما امتحان کنید. مثلا یک جدول 2*2 که یکی ایمیل کاربر و دیگری yid کاربر راش را نشام دهد. (نه در سیستم راش. بلکه در همین صفحات)
ممنون میشم.

Rezash
December 15th, 2010, 11:30
آخر هر mysql_query يك


or die(mysql_error());

بزنيد.
مثال :


$q = mysql_query("SELECT * FROM `member` WHERE `user` = '$user';") or die(mysql_error());


مورد دوم


$_SEESION

sesssion از لحاظ املايي اشتباه نوشته شده است. كه البته خودمم يكي در ميون به علت تايپ سريع حروف رو جا به جا نوشتم !

epooli
December 17th, 2010, 11:23
آقا رضا کاش یه خورده مقدماتی تر می گفتید. هرکاری کردم دیشب نتونستم پیاده سازی کنم. بیخیال شدم. الان چجوری می تونم از yid استفاده کنم؟
چجوری فیلد yid تو متغیر $yid ذخیره میشه......

Rezash
December 17th, 2010, 11:34
كد آخري رو كه گذاشتيد رو اديت كنيد و جاهايي كه غلظ املايي هست و سهوا SEESION نوشتيم رو با SESSION عوض كنيد.
در مورد اينكه چطور اطلاعات رو بگيريد، كلا يك مثال جدا ميزنم.
فرض كنيم قصد داريم تمام اطلاعات مربوط به كاربر با شاسه epooli رو كه در جدول member هست در داخل يك آرايه داشته باشيم:


$user = 'epooli';
$q = mysql_query("SELECT * FROM `member` WHERE `user` = '$user' LIMIT 1 ") or die(mysql_error());
$data = mysql_fetch_array($q);
echo "The full name is : ".$data['fullname'];
//and so on , for test submit the fownling code
print_r($data);

epooli
December 17th, 2010, 11:48
آقا تشکر....
فهمیدم مشکل کجاست؟
من فیلدی رو تست می کردم که خالی بود و واسه همین چیزی نشون نمی داد.
از این راهنمایی آخرتون بسیار سپاسگذارم.