Εμφάνιση δεδομένων σε 3 στήλες μέσα από while ή for

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Εμφάνιση δεδομένων σε 3 στήλες μέσα από while ή for

Δημοσίευση από dpa » 25 Μάιος 2013 18:41

Παιδιά καλησπέρα,

θέλω να εμφανίσω έτσι στοιχεί από την βάση: πως θα το κάνω ??

Κώδικας: Επιλογή όλων

                    <div class="col_1">
            
                        <ul class="greybox">
                            <li><a href="#">FreelanceSwitch</a></li>
                            <li><a href="#">Creattica</a></li>
                            <li><a href="#">WorkAwesome</a></li>
                            <li><a href="#">Mac Apps</a></li>
                            <li><a href="#">Web Apps</a></li>
                        </ul>   
            
                    </div>
                    
                    <div class="col_1">
            
                        <ul class="greybox">
                            <li><a href="#">ThemeForest</a></li>
                            <li><a href="#">GraphicRiver</a></li>
                            <li><a href="#">ActiveDen</a></li>
                            <li><a href="#">VideoHive</a></li>
                            <li><a href="#">3DOcean</a></li>
                        </ul>   
            
                    </div>
                    
                    <div class="col_1">
            
                        <ul class="greybox">
                            <li><a href="#">Design</a></li>
                            <li><a href="#">Logo</a></li>
                            <li><a href="#">Flash</a></li>
                            <li><a href="#">Illustration</a></li>
                            <li><a href="#">More...</a></li>
                        </ul>   
            
                    </div>

Κώδικας: Επιλογή όλων

            <?php 
			$sql = "SELECT * FROM manufacturers as m
			WHERE m.Status = '1' ORDER BY m.ManufacturerID ASC";
			$rs = $db->query&#40;$sql&#41;;

			if&#40; $rs->num_rows > 0 &#41; &#123;
			$manufacturer = array&#40;&#41;;	
				while&#40; $r = $rs->fetch_assoc&#40;&#41; &#41; &#123;
					
					$manufacturer&#91;&#93; = array&#40; "ManufacturerID" => $r&#91;'ManufacturerID'&#93;, "ManufacturerName" => $r&#91;'ManufacturerName'&#93;, "ManufacturerLogo" => $r&#91;'ManufacturerLogo'&#93; &#41;;

				&#125;
			&#125;


$f = count&#40;$manufacturer&#41;;
$rows = ceil&#40;$f/4&#41;;


	for&#40;$k=0;$k<=$rows; $k++&#41; &#123;
	
			echo '<div class="col_1">'."\n";
				echo '<ul class="greybox">'."\n";
				
			for&#40;$i=&#40;$rows*$k&#41;;$i<=$f; $i++&#41; &#123;
							
							echo '<li><a href="products.php?m='.$manufacturer&#91;$i&#93;&#91;'ManufacturerID'&#93;.'" title="'.$manufacturer&#91;$i&#93;&#91;'ManufacturerName'&#93;.'">'.$manufacturer&#91;$i&#93;&#91;"ManufacturerName"&#93;.'</a></li>'."\n";			
				
			&#125;0
	
					echo '</ul>'."\n";
				echo '</div>'."\n";
	&#125; // end function 

			?>


Αν μπορεί κάποιος να με βοηθήσει για το πως θα τα εμφανίσω με for η απευθείας μέσα από το while.

Ευχαριστώ πολύ

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Εμφάνιση δεδομένων σε 3 στήλες μέσα από while ή for

Δημοσίευση από geomagas » 25 Μάιος 2013 21:06

Καλησπέρα,
Υποθέτω ότι θέλεις σταθερά τρία <div> όπου μέσα τους θα μοιράζονται οι manufacturers.

Κώδικας: Επιλογή όλων

         <?php
         $sql = "SELECT * FROM manufacturers as m
         WHERE m.Status = '1' ORDER BY m.ManufacturerID ASC";
         $rs = $db->query&#40;$sql&#41;;

         if&#40; $rs->num_rows > 0 &#41; 
           &#123;
           $manufacturer = array&#40;&#41;;   
           while&#40; $r = $rs->fetch_assoc&#40;&#41; &#41; $manufacturer&#91;&#93;=$r;
           &#125;

        $chunk_elements=ceil&#40;count&#40;$a&#41;/3&#41;;
        foreach&#40;array_chunk&#40;$manufacturer,$chunk_elements&#41; as $chunk&#41;
          &#123;
          echo '<div class="col_1">'."\n";
          echo '<ul class="greybox">'."\n";
          foreach&#40;$chunk as $m&#41; 
            echo '<li><a href="products.php?m='.$m&#91;'ManufacturerID'&#93;.'" title="'.$m&#91;'ManufacturerName'&#93;.'">'.$m&#91;"ManufacturerName"&#93;.'</a></li>'."\n";         
          echo '</ul>'."\n";
          echo '</div>'."\n";
          &#125;
        ?>
Χρησιμοποίησα την array_chunk().
offtopic: Σου απλοποίησα τη while, αν δεν σε βολεύει, μπορείς να χρησιμοποιήσεις τη δική σου εκδοχή.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Εμφάνιση δεδομένων σε 3 στήλες μέσα από while ή for

Δημοσίευση από fafos » 25 Μάιος 2013 21:55

an to plhthos ton eggrafon einai sigoura kai panta pollaplasio tou 5 (5,10,15,20 klp) den xreiazetai na dhmiourghseis array kai to trexeis mesa sto while:

Κώδικας: Επιλογή όλων

$i = 0;
while &#40;$r = $rs->fetch_assoc&#40;&#41;&#41;
&#123;
    if&#40;$i++ % 5 == 0&#41;
    &#123;
        echo '<div class="col_1"><ul class="greybox">';
    &#125; else
    &#123;
        echo '';
    &#125;

    echo '<li><a href="products.php?m=' . $r&#91;'ManufacturerID'&#93; . '" title="' . $r&#91;'ManufacturerName'&#93; . '">' . $r&#91;"ManufacturerName"&#93; . '</a></li>' . "\n";

    if&#40;$i % 5 == 0&#41;
    &#123;
        echo '</ul></div>';
    &#125; else
    &#123;
        echo '';
    &#125;
&#125;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Εμφάνιση δεδομένων σε 3 στήλες μέσα από while ή for

Δημοσίευση από dpa » 26 Μάιος 2013 17:46

Φίλε Fafo σε ευχαριστώ με έχεις βοηθήσει αρκετές φορές.

Σε ευχαριστώ φίλε θα το δοκιμάσω

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες