Avatar billede kodak Mester
31. december 2010 - 00:45 Der er 21 kommentarer og
1 løsning

kolonne opsætning

Jeg har følgendene kode jeg tidligere har brugt til at hente billeder frem for en mappe:


<?php
function removeThumbDB($imgs){
    $i = 0;
    foreach($imgs AS $img){
        if(strtolower(basename($img))=='thumbs.db'){
            unset($imgs[$i]);
        }
        $i++;
    }
    natsort($imgs);
    return $imgs;
}

$folders = glob('folder1/*');
$cols = 2;
$i = 0;
echo '<table><tr>';

foreach($folders AS $folder){
    if(is_dir($folder)){
        if($cols==$i){
            echo '</tr><tr>';
            $i=0;
        }
        $imgs = removeThumbDB(glob($folder.'/screenshots/*'));
        $img = $imgs[array_rand($imgs, 1)];
        echo '<td><a href='".$folder."/doc/".basename($folder).".html'><img src='".$img."' alt='".basename($img)."' height='30' border='0'></a></td>\n';
        $i++;
    }
}

echo '</tr></table>';
?>


No vil jeg gerne have lavet et kolonne system der har 5 kolonner og max kan tælle op til 20 echo
D.V.S
5 vandret
3 lodret

Og denne gang får den $row[id] fra database.

Og det skal være med følgendene kode:


<table border="0" cellpadding="0" cellspacing="0" width="95%" align="right">
<tr valign="top">

<td>
    <a href="?main=' . $adresse . '.&udvalg=' . $adresse2 . '"><center><img src="images/' . $row['icon'] . '" width="60" height="60" title="' . $row['title'] . '" border="0" align="absmiddle"></center></a><a href="?main=' . $adresse . '.&udvalg=' . $adresse2 . '" title="' . $row['title'] . '"><center><p class="ungdom01">' . $row['title'] . '</a></p></center>
    </td>
</tr>
  <tr>
  <td>
    <a href="?main=' . $adresse . '.&udvalg=' . $adresse2 . '"><center><img src="images/' . $row['icon'] . '" width="60" height="60" title="' . $row['title'] . '" border="0" align="absmiddle"></center></a><a href="?main=' . $adresse . '.&udvalg=' . $adresse2 . '" title="' . $row['title'] . '"><center><p class="ungdom01">' . $row['title'] . '</a></p></center>
</td>
  </tr>
</table>


I stedet for det er er i øverste script:

<table><tr>
        <td><a href='".$folder."/doc/".basename($folder).".html'><img src='".$img."' alt='".basename($img)."' height='30' border='0'></a></td>
        </tr><tr>
        </tr></table>
Avatar billede webweaver Praktikant
31. december 2010 - 01:44 #1
Nu ved jeg ikke helt hvad du mener med op til 20 echo'er, men hvis du vil have vist 20 rækker fra databasen af, kan du bruge LIMIT. Desuden skriver du 5 vandret og 3 lodret. Hvis du vil have 3 rækker med 5 i hver, ja så giver det nu kun 15 ...

mysql_query("SELECT * FROM tabel LIMIT 20") or die(mysql_error());

For at lave tricket med at få den til at skifte til en ny række, kan du gøre følgende;

<table border="0" cellpadding="0" cellspacing="0" width="95%" align="right">

<tr valign="top">

<?php

$number = 0;

$query = mysql_query("SELECT * FROM tabel LIMIT 20") or die(mysql_error());

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

....

if ($number != 0) {
                           
if (($number % 5) == 0) { // 5 er antallet der vises i rækken, før ny sektion.
                       
echo "</tr>\n\n";
                   
echo "<tr>\n";
                               
}
                               
}

}

....

?>

</tr>

</table>



Den vil dele det op i 4 rækker i dette tilfælde, da der trækkes 20 poster ud og vises 5 i hver række.
Avatar billede kodak Mester
31. december 2010 - 14:29 #2
Fejl mente

5 vandret
3 lodret
I alt 5 kolonner med 3 ræker.

Hvor skal mit billede ind
og hvad er ....
Avatar billede kodak Mester
31. december 2010 - 14:36 #3
og hvas F*** er forskellen på
echo'';
og
echo "";
Avatar billede kodak Mester
01. januar 2011 - 20:16 #4
Så kunne man ikke hjælpe mere eller?
Avatar billede webweaver Praktikant
01. januar 2011 - 21:59 #5
Tag det roligt. Det har lige været nytår?

... er dit eget kode du skal smide ind! Jeg har bare vist måden du kan lave flere rækker på, som du spurgte om ...

Det billede halløj skal ind efter de 2 if sætninger, men inde i while løkken.

Der er ikke nogen forskel på "" og '' i dit tilfælde.
Avatar billede kodak Mester
01. januar 2011 - 22:54 #6
Har prøvet men den viser ingen ting

<?php
include('3/config.php');
@session_start();

mysql_connect($mysql['host'],$mysql['user'],$mysql['password']) or die (mysql_error());
mysql_select_db($mysql['db']) or die (mysql_error());
   
$number = 0;
$query = mysql_query("SELECT * FROM `udvalg_module` LIMIT 20") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {

if ($number != 0) {
if (($number % 5) == 0) { // 5 er antallet der vises i rækken, før ny sektion.

echo '<a href="index1.php?side=' . $row['persgrup'] . '"><center><img src="images/' . $row['icon'] . '" width="60" height="60" alt="' . $row['title'] . '" border="0" align="absmiddle"></center></a><a href="index1.php?side=' . $row['persgrup'] . '"><center><p class="ungdom01">' . $row['title'] . '</a></p></center>';
echo "</tr>\n\n";
echo "<tr>\n";
}
}
}

?>
Avatar billede webweaver Praktikant
02. januar 2011 - 00:43 #7
Du har også placeret det inde i if sætningerne.
Det skal være efter if sætningerne, men inde i while løkken.

if ($number != 0) {
if (($number % 5) == 0) {

echo "</tr>\n\n";
echo "<tr>\n";

}
}

echo '<a href="index1.php?side=' . $row['persgrup'] . '"><center><img src="images/' . $row['icon'] . '" width="60" height="60" alt="' . $row['title'] . '" border="0" align="absmiddle"></center></a><a href="index1.php?side=' . $row['persgrup'] . '"><center><p class="ungdom01">' . $row['title'] . '</a></p></center>';


}


Hjalp det?
Avatar billede kodak Mester
02. januar 2011 - 12:18 #8
Den bliver jo ved med at lave kolonne ned af jeg skal 3 linier.
Avatar billede webweaver Praktikant
02. januar 2011 - 12:46 #9
Den henter 20 ud p.t. (skulle den meget gerne gøre) Og den viser 5 i hver række.
Hvor mange elementer du vil have vist i hver række, og hvor mange rækker du vil have vist er helt op til dig selv. Du ændrer bare på 5-tallet og 20-tallet. Hvis du skal have 3 linier med 5 i hver, så ændrer du 20 til 15. Hvis du vil have 5 linier med 3 i i hver, ændrer du 5 til 3 og igen 20 til 15.

Har du evt. et link, så jeg kan se hvad du snakker om?
Avatar billede kodak Mester
02. januar 2011 - 13:14 #10
Ind til nu har jeg kun lavet 15 men den smider dem alle i en lodret linie alle 15 under hinanden.
Avatar billede kodak Mester
02. januar 2011 - 13:33 #11
skal der ikke være nogle <td></td> noget sted?
Avatar billede webweaver Praktikant
02. januar 2011 - 15:08 #12
Jo det skal der, men jeg ved godt hvad fejlen er nu :)
Jeg har lige glemt at tilføje en lille, men temmelig vigtig linie i min kode :)

$number++; skal ind nedenunder while ($row = mysql_fetch_array($query)) {
Avatar billede kodak Mester
02. januar 2011 - 15:21 #13
Den ændrede ingen ting.
Avatar billede webweaver Praktikant
02. januar 2011 - 17:50 #14
Så har du sat det op forkert på en eller anden måde.

Har du et link?
Avatar billede webweaver Praktikant
02. januar 2011 - 17:51 #15
I øvrigt, du skal jo selv sætte dine <td></td> ind. Ved ikke hvordan resten af din kode ser ud, men hvis du har en tabel, skal der selvfølgelig både være <tr> og <td> som ganske normalt!
Avatar billede webweaver Praktikant
02. januar 2011 - 17:54 #16
Lige en anden ting. Du har 1510 point ude!
Det er ikke rigtig acceptabelt!

http://www.eksperten.dk/list/aabnespoergsmaal/kodak

Tag og giv point til dem som har givet dig svar og få lukket dine tråde, som ikke er aktuelle mere! Hvis der ikke er lagt noget svar, eller du selv har fundet det, så smid et svar selv og accepter tråden.
Avatar billede kodak Mester
02. januar 2011 - 19:19 #17
<td>
    <a href="?main=' . $adresse . '.&udvalg=' . $adresse2 . '"><center><img src="images/' . $row['icon'] . '" width="60" height="60" title="' . $row['title'] . '" border="0" align="absmiddle"></center></a><a href="?main=' . $adresse . '.&udvalg=' . $adresse2 . '" title="' . $row['title'] . '"><center><p class="ungdom01">' . $row['title'] . '</a></p></center>
    </td>
Avatar billede webweaver Praktikant
02. januar 2011 - 21:25 #18
Okay, nu har du postet noget kode.. Hvad vil du så fortælle med det? Du har fået td på nu som der skal være. Du har PHP'en som laver </tr> når der skal skiftes række.

Virker det så nu eller?
Avatar billede kodak Mester
02. januar 2011 - 21:29 #19
Bruger jeg:
<?php
include('3/config.php');
@session_start();

mysql_connect($mysql['host'],$mysql['user'],$mysql['password']) or die (mysql_error());
mysql_select_db($mysql['db']) or die (mysql_error());
   
$number = 0;
$query = mysql_query("SELECT * FROM `udvalg_module` LIMIT 20") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {

$number++;
if ($number != 0) {
if (($number % 5) == 0) {

echo "</tr>\n\n";
echo "<tr>\n";

}
}

echo '<td><a href="index1.php?side=' . $row['persgrup'] . '"><center><img src="images/' . $row['icon'] . '" width="60" height="60" alt="' . $row['title'] . '" border="0" align="absmiddle"></center></a><a href="index1.php?side=' . $row['persgrup'] . '"><center><p class="ungdom01">' . $row['title'] . '</a></p></center></td>';


}

?>

så viser den:
4 i første række
5 i anden række
5 i tredie række
1 i fjedre række

Det virker ikke korrekt
Avatar billede webweaver Praktikant
02. januar 2011 - 22:16 #20
Ret 0 til -1 i $number.
Så skulle den meget gerne være hjemme :)

$number = -1;
Avatar billede kodak Mester
03. januar 2011 - 16:27 #21
Så var den der takker.
Avatar billede webweaver Praktikant
03. januar 2011 - 16:46 #22
Det var så lidt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester