while() Logik problem

crashx

Erfahrenes Mitglied
Salute

Ich bin an einer Galerie dran, es läuft alles gut, bis jetzt :(

Ich bin an der Ausgabe der Album-übersicht.

das Problem liegt in der while() schleife welche in einer while() schleife drin ist.
nehme ich die innere schleife weg, geht es.

PHP:
<?php 
			$sql = "SELECT * 
					FROM `album`
					WHERE `section` = '".$_GET['info']."'
					"; 
			$eintrage = mysql_num_rows(mysql_query($sql)); 
			$maxproseite = 16;
			$i = 0; 
			$seiten = $eintrage / $maxproseite; 
			
			if (!isset($_GET['page'])) 
				{                  
			    	$sql = "SELECT * 
			    			FROM `album` 
			    			WHERE `section` = '".$_GET['info']."' 
			    			ORDER BY id LIMIT 0,".$maxproseite.";
			    			";   
				} 
			else 
				{                                         
			    	$abeintrag = $_GET['page'] * $maxproseite - $maxproseite; 
			    	$sql = "SELECT * 
			    			FROM `album` 
			    			WHERE `section` = '".$_GET['info']."' 
			    			ORDER BY id LIMIT ".$abeintrag.",".$maxproseite.";
			    			"; 
				} 
			echo '<table border="0" width="450" id="table1">';
			
			$result = mysql_query($sql); 
			$e = 4;
			while($row = mysql_fetch_assoc($result))
			    {  
			        $set = $row['src'];
			        
			        if(($e % 4) == 0) { echo '<tr>'; } 
			        	echo '<td>'; 
			        		$sql = "SELECT * FROM `$set` LIMIT 1";
			        		$result = mysql_query($sql);
			        		while($row = mysql_fetch_assoc($result))
			        			{
			        				echo '<img src="'.$row['thumburl'].$row['thumb'].'" border="0">';
			        			}
			        	echo '</td>';
			        if(($e % 20) == 0) { echo '</tr>'; }     
			        $e++; 
			    }  
			echo '</table>';
			   
			echo 'Seite '; 
			for($i = 1; $i - 1< $seiten; $i++){              //Ausgabe der Linkliste 
			    echo "<a href=\"galerie.php?page=".$i."\">".$i."</a> "; 
			} 
			?>

Zur erklärung:
in der Tabelle Album, hat es einträge diverser alben und das ohne Bilder nur infos.
zb. id -1 | section -tuning | src -x121206161122
jedes album im eigentlichen sinn heist dan so wie die "src" in der Tabelle album.

Tabelle x121206161122
id -1 | pic -test01.jpg | url -pic/ | thumb -thumb_test01.jpg | thumburl -thumb/

Ich kapiers einfach nicht mehr.

Es zeigt mir genau 1 eintrag an, aber es müsste mir 3 einträge anzeigen. (Stand meiner Datenbank).

Fehler meldet es auch mit error_reporting(E_ALL) nicht.
 
STOP:

Habe Problem selbst gelöst :)

Wäre trozdem nett, wenn mir das jemand erläutern könnte.

Lösung:

PHP:
while($row = mysql_fetch_assoc($result))
			    {  
			        $set = $row['src'];
			        
			        if(($e % 4) == 0) { echo '<tr>'; } 
			        	echo '<td>'; 
			        		$sql2 = "SELECT * FROM `$set` LIMIT 1";
			        		$result2 = mysql_query($sql2);
			        		while($row = mysql_fetch_array($result2))
			        			{
			        				echo '<img src="'.$row['thumburl'].$row['thumb'].'" border="0">';
			        				error_reporting(E_ALL);
			        			}
			        	echo '</td>';
			        if(($e % 20) == 0) { echo '</tr>'; }     
			        $e++; 
			    }

In der 2ten Abfrage müssen die $variabeln anders sein ?
 
Ähm nur mal so zur Klärung du solltest immer utnerschiedliche Variablen nehmen, solange du im Script bist.....denn sonst komtm allse durcheinander.

arbeitest du mit Methoden oder Funktionen so musst du nur innerhalb der Methoden und Funktionen verschiedene Variablen nutzen....da sie nur darin gültig sind... ;-)

MFG Niels
 
Zurück