سلام
کد:
$show='SELECT * FROM `sendlink`';
$link=mysql_query($show);
تعدادي ركورد با توجه به شرط وارد شده (كه اينجا خالي يعني همه هست) انتخاب كرديم
فرضا جدولي داريم شامل عنوان و آدرس و توضيح لينك كه 100 ركورد در اون ذخيره كرديم
حالا شما مثلا با كوئري 100 يا 50 يا هر چند تا رو انتخاب كردي
در اينجا بايد خروجي رو با يك تابع مخصوص مثل mysql_fetch_array يا mysql_fetch_assoc تجزيه و تحليل كني
fetch تقريبا به معني در آوردن، و اگه اشتباه نكنم دقيقا "واكشي" هست ، يعني خروجي mysql رو در يك آرايه وا كشي كن
همونطور كه گفتم تو mysql_query تعدادي ركورد رو انتخاب كرديم
حالا اگه اونطور كه تو به كار بردي ، يعني:
کد:
$abc=mysql_fetch_array($link);
استفاده كنيم ، فقط ركورد اول رو ميريزه تو يك آرايه و در abc ذخيره مي كنه
آرايه اي شامل عنوان ، توضيح و آدرس لينك (در اين مثال) كه فقط مربوط به ركورد اول ماست
ولي ما ميخوايم تمام ركورد ها تجزيه و تحليل بشه، درسته؟
پس بايد از حلقه استفاده كنيم،شرط حلقه رو همين توابع mysql_fetch_array يا mysql_fetch_assoc يا مشابه مي ذاريم
و با اين كار روي تك تك ركورد ها راه مي ريم و حلقه اونقدر ادامه پيدا مي كنه كه ركوردهاي انتخابي تموم بشن
کد:
for($i=1;mysql_fetch_array($link);$i++){
print("<a href='$abc[link_url]'>$abc[link_title]</a><br>");
}
در كد بالا استفاده از for زياد جالب نيست!
ما در اينجا نيازي به شمارنده نداريم،گام حرك نميخوايم پس استفاده از while بهتره!
ولي از تصحيح اين كد و نوشتنش يك منظور داشتم! اينكه مقدار i در پايان چي ميشه / و اينكه با چه تابعي مي تونيم همين مقدار رو توليد كنيم...
کد:
while(mysql_fetch_assoc($links))
من از mysql_fetch_assoc بيشتر استنفاده مي كنم،با اينكه تقريبا با mysql_fetch_array يكي هست، دليلش رو هم اگه كسي خواست بدونه نتيجه رو با print_r مقايسه كنه (خودمم حدودا يك سال پيش تفاوت اينو از يكي از دوستاي گلم تو ياهو شنيدم و تست كردم ديدم درست ميگه!)
راستي احساس مي كنم خيلي ها كه ميرن سمت php ، دقيقا دارند اشتباه منو تكرار مي كنند!يعني فراموشي منوال...
از وقتي منوال php رو ميخونم فوق العاده در كد نويسي ها كارم راحت شده...
زبونش كه خيلي سادست ، حتي خيلي هم مثال هاي ساده اي داره...
اينو گفتم تا ياد آوري اي بر منوال باشه و. ربطي به سوال تاپيك نداشت