Welke linken horen in welke tabel?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5 volgende »

Jan Koehoorn

Jan Koehoorn

16/09/2006 12:00:00
Quote Anchor link
Heb net even naar de code zitten kijken maar waarom doe je dit eigenlijk met tabellen? Een tabel is voor tabellarische gegevens en niet voor lijsten. Als je gewoon met <ol> of <ul> zou werken kun je heel gemakkelijk na een x aantal <li>'s een nieuwe kunnen beginnen.
 
PHP hulp

PHP hulp

12/01/2025 20:07:38
 

16/09/2006 12:02:00
Quote Anchor link
Op de vervolgpagina staan bv alle linken van kinderkleding. Omdat ze daar op de indexpagina op hebben geklikt.

Omdat dit er natuurlijk heel veel kunnen worden wil ik dat ook net als op de index pagina netjes in 4 rijen van 10 linken.

Ik heb het geprobeerd om het op dezelfde manier te doen als op de index pagina maar dan krijg je maar 1 rij te zien.

Dit is de code van de index pagina:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
echo '<table align="center"><tr>';
$kolommen = 4;

//Laat de categorie naam zien boven in de tabel
$queryNaam = 'SELECT * FROM winkel_categorie ORDER BY cat_naam';
$resultNaam = mysql_query($queryNaam) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
while ($rowNaam = mysql_fetch_object($resultNaam))
{

//Laat zien hoeveel linken er in die categorie zitten:
$teller = 'SELECT COUNT(link_id) AS teller FROM winkel_linken  WHERE cat_id = '. $rowNaam->cat_id .'';
$resultaatTeller = mysql_query($teller) or die ("Sorry maar kan de teller niet weergeven.");
$laatZienTeller = mysql_fetch_assoc($resultaatTeller);
echo '<td valign="top"><table width="185" align="left" class="tabelborder" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td class="kopje">'.$rowNaam->cat_naam.'&nbsp;<div class="teller"> ' . $laatZienTeller['teller'].'</div>' ;
echo '</td>';
echo '</tr>'.ENTER;
//Laat de linken zien
$queryLink = 'SELECT cat_id,link_url FROM winkel_linken WHERE cat_id = '. $rowNaam->cat_id .' ORDER BY RAND()  LIMIT 0,10';
$resultLink = mysql_query($queryLink) or die ("Sorry maar ik kan de linken van de categorie niet weergeven, probeer het later opnieuw.");
$j = 0;
while ($rowLink = mysql_fetch_object($resultLink))
{

    $j++;
    echo '<tr>';
    echo '<td class="link">-'. $rowLink->link_url.'';
    echo '</td>';
    echo '</tr>'.ENTER;
    if($j == 10){        
        echo '<tr>';
        echo '<td class="meer">';
        echo '<a href="index.php?cat_id='.$rowNaam->cat_id.'"><font class="meer">Meer in de categorie '.$rowNaam->cat_naam.'&nbsp;-></font></a>';
        echo '</td>';
        echo '</tr>';
        }
    
}

        
        

        echo '</table>'.ENTER;
    
$counter++;
    if($counter==$kolommen)
    {

        echo '</td></tr></table><table align="center"><tr>';
        $counter = 0;
    }
}


echo '</td></tr></table>'.ENTER;
}


?>
 

16/09/2006 12:05:00
Quote Anchor link
Ik gebruik tabellen omdat ik geen andere manier wist om overal mooie kopjes boven te krijgen.

En wat jij nu zegt zal best waar zijn maar ik zie het nu helemaal niet meer zitten.
Het blijft moeilijk dat php.......
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 12:18:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
CSS:
    ul {
        list-style-item: none; /* geen bolletjes ervoor */
    }
    li.kopje {
        background: mooi kopkleurtje;
    }
    li.leesmeer {
        background: mooi leesmeer kleurtje;
    }

Een lijstje van tien ziet er dan zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
    <ul>
        <li class="kopje">kinderkleding</li>
        <li>item 1</li>
        <li>item 2</li>
        <li>item 3</li>
        <li>item 4</li>
        ... enz
        <li class="leesmeer">lees meer...<li>
    </ul>

Het voordeel van deze methode, is dat hij verticaal doortelt. Een tabel telt eerst horizontaal door.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 

16/09/2006 13:12:00
Quote Anchor link
Dit is mijn <ul> lijstje op de vervolgpagina:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
//Laat de categorie naam zien boven in de tabel
$queryNaam = 'SELECT * FROM winkel_categorie WHERE cat_id = '.$_GET['cat_id'].' ORDER BY cat_naam';
$resultNaam = mysql_query($queryNaam) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");

while ($rowNaam = mysql_fetch_object($resultNaam))
{

//Dit is de code voor een tabel
echo '<ul>';
echo '<li class="kopje">'.$rowNaam->cat_naam.'</li>'.ENTER ;

//Laat de linken zien
$queryLink = 'SELECT cat_id,link_url FROM winkel_linken WHERE cat_id = '. $rowNaam->cat_id .' ORDER BY link_url ';
$resultLink = mysql_query($queryLink) or die ("Sorry maar ik kan de linken van de categorie niet weergeven, probeer het later opnieuw.");
if(mysql_num_rows($resultLink) > 0) // Er is iets gevonden
    {

        while($i < 10 AND $rowLink = mysql_fetch_object($resultLink))
        {

         echo '<li class="link">-'. $rowLink->link_url.'</li>'.ENTER;
        }
    }

        echo '<li class="leesmeer">';
        echo '<a href="http://www.winkeltop10.nl/index2.php" target="_parent"><font class="meer">Terug</font></a>';
        echo '</li>'.ENTER;
        }

        echo '</ul>'.ENTER;
    
}

?>


en dit is de css:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ul {
    list-style-item: none;
    width: 185px;
    background: #FFFFFF;
    list-style: url(none) none;
    margin: 0px;
    padding: 0px;
}
li.kopje {
    background: #4261B6;
    font: bold 12px Verdana, Arial, Helvetica, sans-serif;
    color: #FFFFFF;
}
li.leesmeer {
    background: #FCED9F;
    font: 10px Verdana, Arial, Helvetica, sans-serif;
    color: #000000;
    height: 10px;
}
li.link {
    margin: 0px;
    padding: 0px 2px;
    text-align: left;
}



-Is het mogelijk om de linken dichter op elkaar te krijgen? Ik had padding en margin al op 0px gezet.

En hoe krijg je nu 4 kolommen naast elkaar met 10 linken erin en dan weer opnieuw 4 kolommen daaronder?
 

16/09/2006 14:30:00
Quote Anchor link
Het lukt niet.

Dit is de code die ik nu heb en laat 1 kolom zien.
Maar hij moet er dus 4 naast elkaar zetten en dan daaronder weer verder gaan. Iedere kolom bevat 10 linken.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
//Laat de categorie naam zien boven in de tabel
$queryNaam = 'SELECT * FROM winkel_categorie WHERE cat_id = '.$_GET['cat_id'].' ORDER BY cat_naam';
$resultNaam = mysql_query($queryNaam) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");

while ($rowNaam = mysql_fetch_object($resultNaam))
{

//Dit is de code voor een tabel
echo '<ul>';
echo '<li class="kopje">'.$rowNaam->cat_naam.'</li>'.ENTER ;

//Laat de linken zien
$queryLink = 'SELECT cat_id,link_url FROM winkel_linken WHERE cat_id = '. $rowNaam->cat_id .' ORDER BY link_url ';
$resultLink = mysql_query($queryLink) or die ("Sorry maar ik kan de linken van de categorie niet weergeven, probeer het later opnieuw.");

while($rowLink = mysql_fetch_object($resultLink))
    {

    echo '<li class="link">-'. $rowLink->link_url.'</li>'.ENTER;
    }

    echo '<li class="leesmeer">';
    echo '<a href="http://www.winkeltop10.nl" target="_parent"><font class="meer">Terug</font></a>';
    echo '</li>'.ENTER;
}
//einde while
echo '</ul>';
}
//einde if
?>
 
Robert Deiman

Robert Deiman

16/09/2006 15:28:00
Quote Anchor link
Jan:
@ Robert: is ENTER een define van jezelf voor regeleindes? Probeer eens uit of PHP_EOL werkt? Die past zich automatisch aan naar elk platform.

@ Elsy: los van de indeling met tabellen en dergelijke zou ik je aanraden een zoekmogelijkheid in je indexpagina in te bouwen. Vooral op sites zoals jij ze maakt (met verzamelingen hyperlinks) is dat heel handig voor een bezoeker. Verder heb ik even naar je aanmeldformulier gekeken, maar ik zie daar nergens een mogelijkheid om een URL op te geven. Klopt dat?


Elsy had het al zo'n beetje gezegd. Ik heb zelf die .ENTER er niet ingezet, maar wel laten staan, omdat het bij haar gewoon leek te werken.
Wat de zoekfunctie betreft, dat is een heel goed idee. Ik vond het er op de index pagina (waar van elke categorie een paar linkjes staan) heel netjes en overzichtelijk uit zien. Het was mooi geweest als hetzelfde op de vervolgpagina ook kon.
Ik denk dat ik wat over het hoofd zie, ik ben net terug van m'n werk, dus ik zal eens kijken.
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 15:29:00
Quote Anchor link
@ Elsy & Robert: Ik heb er dit van gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
    //Laat de categorie naam zien boven in de tabel
    $sql = "
        SELECT c.cat_id, c.cat_naam, l.link_url
        FROM winkel_categorie AS c, winkel_linken AS l
        WHERE cat_id = "
. $_GET['cat_id'] . "
        AND c.cat_id = l.cat_id
        ORDER BY cat_naam
        "
;
    $res = mysql_query($sql) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
    $teller = 0;
    $list_completed = false;
    while ($row = mysql_fetch_assoc ($res)) {
        if ($teller % 12 == 0) {
            echo '<ul>';
            echo '<li class="kopje">' . $row['cat_naam'] . '</li>' . ENTER ;
        }

        echo '<li class="link">-' . $row['link_url'] . '</li>' . ENTER;
        $list_completed = false;
        if ($teller % 12 == 11) {
            echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . ENTER;
            echo '</ul>';
            $list_completed = true;
        }
    }

    if (!$list_completed) {
        echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . ENTER;
        echo '</ul>';
    }

?>

Edit:

Als dit werkt (niet getest) komen de lijsten eerst nog ONDER elkaar te staan. Met CSS kun je ze naast elkaar krijgen, maar eerst maar zien of het werkt.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 

16/09/2006 15:34:00
Quote Anchor link
Bedankt Jan dat je het nog wil proberen voor mij :)

Ik krijg deze foutmelding:

Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.

ik zie zo niet wat er fout is.
 
Robert Deiman

Robert Deiman

16/09/2006 15:35:00
Quote Anchor link
$sql = "
SELECT c.cat_id, c.cat_naam, l.link_url
FROM winkel_categorie AS c, winkel_linken AS l
WHERE cat_id = " . $_GET['cat_id'] . "
AND c.cat_id = l.cat_id
ORDER BY cat_naam
";

Kan dit wel zo?? (ik doel op de "WHERE cat_id = ")
Moet dat geen "WHERE c.cat_id =" zijn?

Hetzelfde geld dan voor ORDER BY cat_naam, dat zou dan ORDER BY c.cat_naam moeten zijn.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 

16/09/2006 15:38:00
Quote Anchor link
Ik heb die c. ervoor gezet en nu is dit het resultaat:

Test
 

16/09/2006 15:42:00
Quote Anchor link
Trouwens op de vervolgpagina hoeft hij niet te sorteren op cat_naam omdat alle kopjes daar hetzelfde zijn maar eigenlijk wel op link_naam.

Maar die linken zijn hele stukken code in de database, dus met <a href=></a> of javascript dus dat moet weer op een andere manier.
 
Robert Deiman

Robert Deiman

16/09/2006 15:44:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    //Laat de categorie naam zien boven in de tabel
    $sql = "
        SELECT c.cat_id, c.cat_naam, l.link_url
        FROM winkel_categorie AS c, winkel_linken AS l
        WHERE cat_id = "
. $_GET['cat_id'] . "
        AND c.cat_id = l.cat_id
        ORDER BY cat_naam
        "
;
    $res = mysql_query($sql) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
    $teller = 0;
    $list_completed = false;
    while ($row = mysql_fetch_assoc ($res)) {
        $teller++;// teller werd niet opgehoogd, misschien moet die nog verplaatsen
        if ($teller % 12 == 0) {
            echo '<ul>';
            echo '<li class="kopje">' . $row['cat_naam'] . '</li>' . ENTER ;
        }

        echo '<li class="link">-' . $row['link_url'] . '</li>' . ENTER;
        $list_completed = false;
        if ($teller % 12 == 11) {
            echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . ENTER;
            echo '</ul>';
            $list_completed = true;
        }
    }

    if (!$list_completed) {
        echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . ENTER;
        echo '</ul>';
    }

?>


Zo zou het beter moeten gaan.
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 15:45:00
Quote Anchor link
Elsy:
Ik heb die c. ervoor gezet en nu is dit het resultaat:

Test

Okee dus geen foutmeldingen meer. Hoe nu verder?
 

16/09/2006 15:47:00
Quote Anchor link
@Jan

Nu wil ik graag 4 kolommen naast elkaar met daarin 10 linken.
En als het kan ook nog gesorteerd op alfabet.
 
Robert Deiman

Robert Deiman

16/09/2006 15:50:00
Quote Anchor link
Jan:
Elsy:
Ik heb die c. ervoor gezet en nu is dit het resultaat:

Test

Okee dus geen foutmeldingen meer. Hoe nu verder?

Inderdaad geen foutmelding meer, maar niet 10 items in een <ul> lijstje, maar elke keer eentje.. zie mijn vorige post, variabele $teller werd nog niet opgehoogd, daar maar eens mee beginnen.. (zie wederom mijn vorige post)

Elsy:
Trouwens op de vervolgpagina hoeft hij niet te sorteren op cat_naam omdat alle kopjes daar hetzelfde zijn maar eigenlijk wel op link_naam.

Maar die linken zijn hele stukken code in de database, dus met <a href=></a> of javascript dus dat moet weer op een andere manier.


Waarom zet je ze dan zo in je database? Kan je niet beter op deze manier in je DB zetten?

link_naam, affiliate_id, zone_id, link_url (alleen http://www.pagina.nl?id)
Waarbij link_url alleen de juiste link bevat..
In je code doe je dan elke keer je javascript, want voor zover ik zie zijn die steeds hetzelfde, zonde om in je database te zetten.

Op die manier kan je normaal sorteren, en hoef je niet in elke URL je javascript te zetten, maar die kan je laten genereren.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 15:51:00
Quote Anchor link
Elsy:
@Jan

Nu wil ik graag 4 kolommen naast elkaar met daarin 10 linken.
En als het kan ook nog gesorteerd op alfabet.

Okee. Heb je die teller al opgehoogd nu?
 

16/09/2006 15:52:00
Quote Anchor link
Nee, ik had Robert even gemist, sorry, doe in nu
 

16/09/2006 15:54:00
Quote Anchor link
Nee, ziet er niet goed uit.
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 15:55:00
Quote Anchor link
Robert:
Inderdaad geen foutmelding meer, maar niet 10 items in een <ul> lijstje, maar elke keer eentje.. zie mijn vorige post, variabele $teller werd nog niet opgehoogd, daar maar eens mee beginnen.. (zie wederom mijn vorige post)

Klopt die was ik vergeten. Hij moet echter pas aan het einde van de while opgehoogd worden, dus zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    //Laat de categorie naam zien boven in de tabel
    $sql = "
        SELECT c.cat_id, c.cat_naam, l.link_url
        FROM winkel_categorie AS c, winkel_linken AS l
        WHERE cat_id = "
. $_GET['cat_id'] . "
        AND c.cat_id = l.cat_id
        ORDER BY cat_naam
        "
;
    $res = mysql_query($sql) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
    $teller = 0;
    $list_completed = false;
    while ($row = mysql_fetch_assoc ($res)) {
        if ($teller % 12 == 0) {
            echo '<ul>';
            echo '<li class="kopje">' . $row['cat_naam'] . '</li>' . ENTER ;
        }

        echo '<li class="link">-' . $row['link_url'] . '</li>' . ENTER;
        $list_completed = false;
        if ($teller % 12 == 11) {
            echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . ENTER;
            echo '</ul>';
            $list_completed = true;
        }

        $teller++;
    }

    if (!$list_completed) {
        echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . ENTER;
        echo '</ul>';
    }

?>
 

Pagina: « vorige 1 2 3 4 5 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.