2009-11-27 17 views
6

के लिए लूप वैरिएबल जबकि थोड़ी देर में प्रत्येक तीसरे आइटम के लिए एक div में एक वर्ग को एक चर निर्दिष्ट करने के लिए थोड़ी देर में एक तरीका है। मैं ब्लूप्रिंट संरचना का उपयोग कर रहा हूं और तीसरा div अंत में है और मुझे प्रत्येक तीसरे div में "अंतिम" वर्ग का नाम संलग्न करने की आवश्यकता है, इसलिए तीसरा div 6th div 9th div और इसी तरह?php जबकि प्रत्येक तीसरे div

/* LOOP THROUGH SHOEDATA TABLE */ 

$results = mysql_query("SELECT * FROM shoeData"); 


while($row = mysql_fetch_array($results)){ 

$name = $row['name']; 
$about = $row['about']; 
$company = $row['company']; 
$buy = $row['buy']; 
$tags = $row['tags']; 
$id = $row['id']; 
$image = $row['image']; 


/* ECHO THE SHOEDATA RESULTS */  

    echo "<div class='imageBorder span-8 column'>"; 
     echo "<div id='imageHeight'>"; 
     echo "<img src='thumbs/$image'>"; 
     echo "</div>"; 

     echo "<ul>"; 

      echo "<li>$name</l1>"; 
      echo "<li>$about</l1>"; 
      echo "<li>$company</l1>"; 
      echo "<li><a href='$buy'>BUY</a></l1>"; 
      echo "<li>$tags</l1>"; 
     echo "</ul>"; 
    echo "</div>"; 


}/*SHOEDATA WHILE LOOP ENDS */ 

उत्तर

27
for ($i = 0; $i < $numRecords; $i++) 
{ 
$className = ""; 
if (($i % 3) == 0) 
{ 
    $className = "last" 
} 

.... 
} 

यहाँ महत्वपूर्ण हिस्सा ($i % 3) == 0 है।

संपादित करें: आपकी टिप्पणी के जवाब में निम्नलिखित है।

/* LOOP THROUGH SHOEDATA TABLE */ 

$results = mysql_query("SELECT * FROM shoeData"); 

$i = 0; 
while($row = mysql_fetch_array($results)){ 
$i++; 
$name = $row['name']; 
$about = $row['about']; 
$company = $row['company']; 
$buy = $row['buy']; 
$tags = $row['tags']; 
$id = $row['id']; 
$image = $row['image']; 


/* ECHO THE SHOEDATA RESULTS */   
    $additionalClass = ($i % 3) == 0 ? " last" : ""; 
    echo "<div class='imageBorder span-8 column" . $additionalClass . "'>"; 
     echo "<div id='imageHeight'>"; 
     echo "<img src='thumbs/$image'>"; 
     echo "</div>"; 

     echo "<ul>"; 

       echo "<li>$name</l1>"; 
       echo "<li>$about</l1>"; 
       echo "<li>$company</l1>"; 
       echo "<li><a href='$buy'>BUY</a></l1>"; 
       echo "<li>$tags</l1>"; 
     echo "</ul>"; 
    echo "</div>"; 


}/*SHOEDATA WHILE LOOP ENDS */ 
+0

अरे मैं इस पर बहुत नया हूं, मैं इसे ऊपर कैसे कार्यान्वित करूंगा, मैंने –

+0

से ऊपर अपना कोड जोड़ा बहुत बढ़िया काम किया –

1
$sql = "SELECT * FROM shoeData"; 
$results = mysql_query($sql); 
while($row = mysql_fetch_array($results)) { 

    // whatever code here 

} 

यह प्रतीत नहीं होता MySQL है कि स्मार्ट पर्याप्त संचालन करते हुए सही मूल्य की तुलना आप $sql, क्योंकि ऐसा लगता $row = mysql_fetch_array($results) तरह सही है तो यह सच लोड हो रहा है पहले पर अटक जाती है निर्दिष्ट करना होगा $result हमेशा के लिए डेटा की पंक्ति।

2

यदि आप इसे क्लाइंट-साइड पर करना चाहते हैं तो इसे CSS3 के साथ किया जा सकता है (पुराने ब्राउज़र [DOMAssistant + Selectivizr] के लिए जेएस जोड़ें)।

सीएसएस: div.imageBorder:nth-child(3n) { /* style attributes will be applied to every 3rd div */ }

0

इरादा कुछ हर एक्स आइटम उपयोग सापेक्ष करने के लिए है। मॉड्यूल विभाजन का शेष है और यदि विभाजन एक पूर्णांक सटीक है तो शून्य हो जाता है।

if(!($counter%3)) { 
    // this is 3 6 9 etc. 
} 
$counter++; 

बेशक आप इसे किसी भी नंबर से कर सकते हैं।

संबंधित मुद्दे