Goedemorgen,

Ik probeer een galerij in jquery te maken met behulp van php.
Ik heb het als volgt:

Ik roep aan:


<?php
 $data1 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '0 ,12'); 
$data2 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '12 ,24'); 
$data3 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '24 ,36'); 
$data4 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '36 ,48'); 
$data5 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '48 ,50');
$data6 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '50 ,62'); 
$data7 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '62 ,74'); 
$data8 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '74 ,86'); 
$data9 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '86 ,98'); 
$data10 = verkrijg_informatie('*', 'media', 'ORDER BY id DESC ', '98 ,100');
?>


Ik maak een lijst met pagina nummers


<ul id="flowtabs" class="navi">
<?php
if ($data1 =='') {echo "&nbsp;";}
else {?> <li><a id='t1' class="bg_left" href='#'>1</a></li> <?php }

if ($data2 =='') {echo "&nbsp;";}
else {?>
	<li><a  <?php
 if ($data3 =='') 
 	
	echo"class='bg_right'";  
	
	else 
	
	{ echo "class='bg_center' "; }; ?> href='#'>2</a></li> <?php }
	
if ($data3 =='') {echo "&nbsp;";}
else { ?>
	<li><a  <?php
 if ($data4 =='') 
 	
	echo"class='bg_right'";  
	
	else 
	
	{ echo "class='bg_center' "; }; ?> href='#'>3</a></li> <?php }

if ($data4 =='') {echo "&nbsp;";}
else { ?>
	<li><a  <?php
 if ($data5 =='') 
 	
	echo"class='bg_right'";  
	
	else 
	
	{ echo "class='bg_center' "; }; ?> href='#'>4</a></li> <?php }
	
if ($data5 =='') {echo "&nbsp;";}
else { ?>
	<li><a  <?php
 if ($data6 =='') 
 	
	echo"class='bg_right'";  
	
	else 

	{ echo "class='bg_center' "; }; ?> href='#'>5</a></li> <?php }
	
	
	
if ($data6 =='') {echo "&nbsp;";}
else { ?>
	<li><a  <?php
 if ($data7 =='') 
 	
	echo"class='bg_right'";  
	
	else 
	
	{ echo "class='bg_center' "; }; ?> href='#'>6</a></li> <?php }
	
	
if ($data7 =='') {echo "&nbsp;";}
else { ?>
	<li><a  <?php
 if ($data8 =='') 
 	
	echo"class='bg_right'";  
	
	else 
	
	{ echo "class='bg_center' "; }; ?> href='#'>7</a></li> <?php }

	
	
if ($data8 =='') {echo "&nbsp;";}
else { ?>
	<li><a  <?php
 if ($data9 =='') 
 	
	echo"class='bg_right'";  
	
	else 

	{ echo "class='bg_center' "; }; ?> href='#'>8</a></li> <?php }
	

if ($data9 =='') {echo "&nbsp;";}
else { ?>
	<li><a <?php
 if ($data10 =='') 
 	
	echo"class='bg_right'";  
	
	else 
	
	{ echo "class='bg_center' "; }; ?> href='#'>9</a></li> <?php }



if ($data10 =='') {echo "&nbsp;";}
else { ?>
	<li><a class="bg_right" href='#'>10</a></li> <?php }

?>



En vervolgens heb ik de volgende code er 10x in staan:


<?php
	
	 
	 
	if ($data1 == '')
	 {echo '&nbsp; er staat niets in data1';}
	 
	 else {
	
	

?>

		<div>
    		<ul class="thumb">
				 <?php
                
						db_connect();
						
									 
						 //And we display the results 
						for ($i=0; $i<count($data1); $i++) 
						 {
						 ?>
						
						
						
							<li><a href="index.php?pagina=mediafull&id=<?php echo $data1[$i]['id'] ?>"><img src="<?php echo $url2.$data1[$i]['titel'] ?>" alt="" /></a></li>
						
						
                 <?php
                 }
                 ?>
        
       	 </ul>
<br clear="all" />
</div>

<?php
};
?>




Dit is natuurlijk niet echt netjes, maar het werkt. Ik heb geprobeerd het zo te maken dat hij zelf na iedere 12 afbeeldingen een nieuw tabblad aanmaakt en een tabnummering, maar helaas dit lukt mij niet.

Is er een mogelijkheid om dit te verbeteren?

Aya
Nou, "niet erg netjes" is zacht uitgedrukt. :)

Waarom zet je een semi-colon achter je accolade? das vaag.

Als je ziet dat je herhalende code hebt, moet je daar iets aan doen. Dat is niet alleen kut qua onderhoud, maar ook kut qua performance, leesbaarheid en gewoon not-done.
Een oplossing daarvoor is een zogenoemde functie. Maar als je het helemaal goed wil doen moet je eens naar OOP kijken ;) Maar dat zal wel te lastig zijn(?) nu.

Dergelijke "herhalingen" moet je echt vermijden.


Klik
Ik zal eens kijken, ben ook aan het uitproberen op deze manier om te leren, maar php vind ik niet de gemakkelijkste programmeertaal.

thanks
Hey niek, als je hier niet bent om antwoorden te geven ga dan lekker naar je elitest prick php siteje toe

Ik heb de code wat netter gemaakt. Deze 2 variabelen moeten er bij elk deel in komen te staan (Let op dat ze niet 2x aangemaakt worden):

<?php
$limit_per_pagina = 12;
$maxPaginas = 10;
?>

Dit is deel 1 van de code:

<?php
$data = array();
for($i = 0; $i < $maxPaginas; $i++){
$data[$i] = verkrijg_informatie("*", "media","ORDER BY `id` DESC", ($i * $limit_per_pagina) . ", " . (($i+1) * $limit_per_pagina));
}
?>

Deel 2:

<?php
echo '<ul id="flowtabs" class="navi">';

for($i = 0; $i < $maxPaginas; $i++){
if ($data[$i] =='') {
echo "&nbsp;";
} else {
echo "<li><a ";
if($data[$i] == '') echo "class='bg_right'";
else echo "class='bg_center'";
echo " href='#' />" . ($i + 1) . "</a></li>";
}
}
echo "</ul";
?>

Deel 3:

<?php
for($j = 0; $j < $maxPaginas; $j++){
if ($data[$j] == ''){
echo '&nbsp; er staat niets in data['.$j.']';
} else {
echo "<div><ul class='thumb'>";
for ($i=0; $i<count($data[$j]); $i++) {
echo '<li><a href="index.php?pagina=mediafull&id='.$data[$j][$i]['id'].'"><img src="'.$url2.$data[$j][$i]['titel'].'" alt="" /></a></li>';
}
echo "</ul><br clear='all' /></div>";
}
}
?>
Victor Koenders op 22/09/2010 10:00:42

Hey niek, als je hier niet bent om antwoorden te geven ga dan lekker naar je elitest prick php siteje toe
[...]


Oh, ben ik al de hele tijd naar op zoek.
Link?
Niek s op 22/09/2010 10:13:12

...
Wjoow thanks man! Ik raad het je meteen aan, zijn we ook weer van jou af! :D


want ik ben hier om mensen af te zeiken en niet om mensen te helpen /sarcasm off
Victor, wtf, houdt je klep en ga gewoon even zelf naar die site.
En, waarom gebruik je backticks in die query?
Chi Lion op 22/09/2010 10:54:06

Victor, wtf, houdt je klep en ga gewoon even zelf naar die site.
En, waarom gebruik je backticks in die query?



Ik ben hier iig om mensen te helpen. Posts als "je code is slecht hier heb je een link van google ga maar php basis dingen leren" zijn niet bijzonder nuttig in mijn ogen.

en backticks in die query is macht der gewoonte. backticks voor tables en kolommen en enkele aanhalingstekens voor variabelen. Zo heb ik mysql geleerd.
De code werkt wel... thanks... het ziet er super simpel uit... wouw dat ik er zelf op kon komen....

Reageren