While loop volgorde op basis van lege row cells

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peps from Yesterday

Peps from Yesterday

06/02/2012 13:26:17
Quote Anchor link
Hoi,

Ik heb een tabel met 9 kolommen. kolom b,c,d,e zijn niet verplicht, de eerste 'a' wel. (de andere 4 kolommen laten we even buiten beschouwing)

nu wil ik de inhoud van die cellen weergeven met een while-loop.
maar om de output goed te krijgen moeten de rijen met kolommen b,c,d,e leeg eerst geprocessed worden.
dan de rijen met de kolommen c,d,e, leeg
dan de rijen met de kolommen d,e leeg
dan de rijen met de kolom e leeg
dan de rijen met alles gevuld.
hoe kan ik dit bereiken? hieronder mijn code.

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
<?php
include "connect.php";
$query = "SELECT * FROM pages";
$result = mysql_query($query);
while($pages = mysql_fetch_array($result)){
    if(!empty($pages['aname'])){$a = "&a=".$pages['aname']; $a1 = $pages['aname']."/";}else{$a = '';}
    if(!empty($pages['bname'])){$b = "&b=".$pages['bname']; $b1 = $pages['bname']."/";}else{$b = '';}
    if(!empty($pages['cname'])){$c = "&c=".$pages['cname']; $c1 = $pages['cname']."/";}else{$c = '';}
    if(!empty($pages['dname'])){$d = "&d=".$pages['dname']; $d1 = $pages['dname']."/";}else{$d = '';}
    if(!empty($pages['ename'])){$e = "&e=".$pages['ename']; $e1 = $pages['ename']."/";}else{$e = '';}
    echo "page name: <a href='overzicht.php?id=".$pages['id'].$a.$b.$c.$d.$e."'>".$a1.$b1.$c1.$d1.$e1."</a><br />";
    echo "page title: ".$pages['title']."<br />";
    echo "page subtitle: ".$pages['subtitle']."<br />";
    echo "<a href='edit.php?id=".$pages['id']."'>edit</a> ";
    echo "<a href='delete.php?id=".$pages['id']."'>delete</a><br /><br />";
    }

?>
 
PHP hulp

PHP hulp

22/11/2024 04:24:15
 
Marijke Hakvoort

Marijke Hakvoort

06/02/2012 13:27:38
Quote Anchor link
Misschien in een array zetten en uitlezen met een foreach?
Dan maakt het ook niet uit als hij leeg is.
 
TJVB tvb

TJVB tvb

06/02/2012 13:35:30
Quote Anchor link
Je database lijkt niet genormaliseerd.
/offtopic
Maakt verder de volgorde nog uit? Anders kun je ORDER BY gaan gebruiken.
 
Peps from Yesterday

Peps from Yesterday

06/02/2012 13:43:54
Quote Anchor link
ja, zat ook aan een soort ORDER BY te denken.. weet alleen niet hoe. probleem is nl dat als een rij wordt verwerkt met de kolommen a,b,c,d,e vol en vervolgens een rij met alleen a,b gevuld, dan worden $a.$b.$c.$d.$e hieronder toch gevuld met de data uit de eerdere loop.

page name: <a href='overzicht.php?id=".$pages['id'].$a.$b.$c.$d.$e."'>".$a1.$b1.$c1.$d1.$e1."</a>

weet niet precies of de database genormaliseerd is. elke rij is goed voor een eigen pagina.



Toevoeging op 06/02/2012 15:33:45:

hmm de truc was zo simpel als dit:
ORDER BY aname,bname,cname,dname,ename

toch bedankt!
 



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.