Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस से चार यादृच्छिक डेटा प्रदर्शित करने के लिए क्वेरी

आपकी पहली क्वेरी ठीक है, लेकिन समय गलत है:

बस देखें कि आपने यहां क्या किया:

$rows=mysql_fetch_array($query_run);
while($rows)
{
    echo $rows['banner_no'];
    echo $rows['banner_name'];
    echo "<a href=\"".$rows['Banner_website_url']. "\">";
    echo "<img src=\"".$rows['banner_image_url']."\" width=\"100px\" height=\"100px\">";
    echo"</a>";
}

यह एक "अनंत लूप" के कारण समाप्त होगा $rows हमेशा सेट किया जाएगा। आपको जो चाहिए वह है:

while($rows=mysql_fetch_array($query_run))

यह myslq_fetch_array . का कारण बनेगा हर बार एक नई लाइन वापस करने के लिए जबकि स्थिति की जाँच की जाती है। और अगर सभी 4 पंक्तियाँ लौटा दी जाती हैं, $rows गलत होगा और लूप बंद हो जाएगा।

और पूरा होने के लिए:अपने दूसरे उदाहरण में आप समान पंक्ति पर 4 बार पुनरावृत्ति कर रहे हैं, आपने myslq_fetch_array पर कॉल करके केवल एक बार प्राप्त किया है ।

इसका एक संभावित समाधान यह होगा कि पंक्ति को फिर से लूप के अंदर लाया जाए:

$i=4;
while ($i>0){
    $rows = mysql_fetch_array(...);
    $i--;
}

हालांकि आपको पहले समाधान को प्राथमिकता देनी चाहिए, क्योंकि तब आपको यह ध्यान रखने की आवश्यकता नहीं है कि परिणाम गणना आपके इटरेटर चर से मेल खाती है।

साइडनोड:इसे $row Call कहें बिना 'एस' के, क्योंकि आपको हमेशा केवल एक पंक्ति वापस मिलती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - SQL क्वेरी के आसपास सिंगल कोट्स या डबल कोट्स?

  2. psql इनपुट के लिए उपयुक्त डेटा डंप करने के लिए mysqldump प्राप्त करें (बच गए सिंगल कोट्स)

  3. दो चुनिंदा बयानों में शामिल होना

  4. इनपुट के रूप में GROUP_CONCAT के साथ WHERE IN चुनें

  5. प्रति समूह MySQL शीर्ष 2 रिकॉर्ड