[Gelöst] Bild aus Datenbank suchen und aus Ordner ausgeben mit Schleife

atsWien

fühlt sich hier wohl
Hallo Ihr Lieben,

da Ihr mir das letzte mal so super geholfen habt, werde ich doch gleich eine kurze Frage nachlegen ..

Okay zu meinem Problem. Mein skript funktioniert. Auch mein anzeigescript.
Nun möchte ich aber nur das Bild im Ordner anzeigen das zur ID gehört.
Alle anderen Felder funken nur das bild nicht egal wie ich es mache oder wie/wo ich es einbau es kommt immer das gleiche Bild.

Wenn ich es nur so mache kommen Alle.
PHP:
<?foreach(glob('dateien/benutzer_dateien/{*.jpg,*.jpeg,*.gif,*.png}', GLOB_BRACE) as $image) 
{if ($zeile10['logo'] == $image) true;{echo " <img src= ". $image . "><br />";}?>

Mein Code sieht wie folgt aus:
PHP:
<?
$ergeb = "SELECT * FROM rufnummern AS r INNER JOIN (adr AS a INNER JOIN kostta AS k ON a.ID = k.IDadr INNER JOIN kostv4 AS kv ON a.ID = kv.IDadr) ON a.ID = r.IDadr
WHERE
(a.fname like '$e_famname%' AND a.vorname like '%' and '$e_Vorname%' = '%')
OR
(a.fname like '%' AND '$e_famname%' = '%' AND a.vorname like '$e_Vorname%')
OR
(a.fname like '$e_famname%' AND a.vorname like '$e_Vorname%')

ORDER BY a.vorname ";

//********************************************

$ergeb15 = mysql_query($ergeb) or die("Anfrage nicht erfolgreich   " . mysql_error());
$anzah15 = mysql_num_rows($ergeb15);

if (!$ergeb15)

//********************************************

$test = 0;

//********************************************

echo '<table border="1" width="600"class="tableerg">Ihre Abfrage:';

while($zeile10 = mysql_fetch_array($ergeb15))
{
$uri = 'http:/';

?>
		
<!-- neuer teste-->
<!--
<div id="apDiva<?php echo ++$test?>" onMouseOver="MM_showHideLayers('apDivb<?php echo $test?> ','','show')" onMouseOut="MM_showHideLayers('apDivb<?php echo $test?> ','','hide')"><a href="#"><?echo $zeile10['name'];?></a></div>
<div id="apDivb<?php echo $test?> ">Strasse:  <?echo $zeile10['strasse'];?>,  Nummer:  +<? echo $zeile10['gnummer'] ;?></div>
-->

		
  <div id="CollapsiblePanel<? echo ++$test; ?>" class="CollapsiblePanel">
    <div class="CollapsiblePanelTab" tabindex=""><span class='Stil8'><?echo $zeile10['akgrad'];?> <?echo $zeile10['name'];?> </span>,   in   <span class='Stil4'><?echo $zeile10['plz'];?></span>  <span class='Stil4'><?echo $zeile10['ort'];?></span></div>
    <div class="CollapsiblePanelContent"><span class='Stil4'>

//********* Problem ab hier *************
	
<?foreach(glob('dateien/benutzer_dateien/{*.jpg,*.jpeg,*.gif,*.png}', GLOB_BRACE) as $image) 
{if ($zeile10['logo'] == $image) true;}?> 

			<img src="<? echo "$image";?>" alt="VoIP4.at" title="Telefonbuch" name="<? $zeile10['logo'];?>" width="228" height="81" align="right";>
			
//********* Problem bis hier ************			
			
			Nummer:    +<? echo $zeile10['gnummer'] ;?><br>
			Strasse:    <?echo $zeile10['strasse'];?> <?echo $zeile10['hausnr'];?>,  Tür: <?echo $zeile10['tuer'];?><br>
			E-Mail:   <a href= "mailto:<? echo $zeile10['email'] ;?> ?subject=Anfrage über die Seite www.VoIP4.at "><? echo $zeile10['email'] ;?> </a><br>
			Internet Auftritt:    <a target=" _blank " title="Telefonbuch" href="<? echo $uri;?>"><? echo $zeile10['web'] ;?></a></span></div>
			
  </div>
  
<script type="text/javascript">
<!--
var CollapsiblePanel<? echo $test; ?> = new Spry.Widget.CollapsiblePanel("CollapsiblePanel<? echo $test; ?>", {contentIsOpen:false});
//-->
</script>
 
<?  
}
?>

Villeicht bringt Ihr mich wieder auf eine Idee , wäre nett ;)

lg Christian
 
AW: bild aus datenbank suchen und aus ordner ausgeben mit schleife

Du siehst vermutlich immer das letzte Bild ?!

PHP:
foreach(glob('dateien/benutzer_dateien/{*.jpg,*.jpeg,*.gif,*.png}', GLOB_BRACE) as $image) 
{
  if ($zeile10['logo'] == $image)
    true;
}

[...]<? echo "$image";?>[...]

Wenn $zeile10['logo'] == $image dann true?;)
 
AW: bild aus datenbank suchen und aus ordner ausgeben mit schleife

Hallo EISer, ;)

Ja so ist es leider.

$zeile10['logo'] ist eigendlich der DB hinterlegte link, genauso wie z.B. $zeile10['name']

beim Namen funkt es aber beim logo nicht und ich hab keine ahnung warum nicht.

hast eine Idee oder einen anderen weg ??

lg Christian
 
EISer hat dir ja eigentlich schon die Lösung gesagt ;) Überleg dir nochmal was du machen willst. Dann schau dir in Ruhe den Code-Schnipsel an den EISer dir nochmal etwas übersichtlicher aus deinem Code gepostet hat. Und überlege was dieser Code macht. Wenn du das gemacht hast und noch nicht draufgekommen bist, kannst du mal in den Spoiler schauen, da versuch ich zu erklären, was der Code bis jetzt macht ;)

- Du liest in einer Schleife alle Bilder aus einem Ordner aus
- Du vergleichst ob das aktulle Bild mit "$zeile10['logo']" übereinstimmt
- wenn es nicht übereinstimmt, machst du nichts. Es wird das nächste Bild überprüft
- wenn es übereinstimmt, machst du im Grunde auch nichts. Du setzt ein "true" ab, das beeinflusst aber in keinster Weise die Programmlogik.
- Sind alle Bilder im Ordner durchlaufen beendest du die Schleife
- Dann gibst du die Variable "$image" aus. In der Variable "$image" steht das letzte Bild das beim Schleifendurchlauf dran war.
 
Hallo EISer, hallo sI0rp!

Danke vorerst, das hat mir schon viel geholfen.
Aber irgendwo hab ich die Logig nicht richtig verstanden, denke ich.

folgendes habe ich unter anderem versucht:

PHP:
<?foreach(glob('dateien/benutzer_dateien/{*.jpg,*.jpeg,*.gif,*.png}', GLOB_BRACE) as $image) 
	{
	if ($zeile10['logo'] == $image)
		{
		$image1 = $image;
		$image2 = $zeile10['logo'];
		}
		echo "$image1";
		echo "$image2";
		//echo "$image";
	 }?> 
<img src="<? echo "$image" ;?>" alt="VoIP4.at" title="Telefonbuch" href="<? echo $uri;?>" name="<? "$image1";?>" width="228" height="81" align="right";>
nun setze ich bei "scr" $image1" oder 2 tut sich nichts, mit $image zeigt er mir alle.

die if schleife sollte mir ja vergleichen
in der darauffolgenden { } sollte wenn ich es richtig verstanden habe der neue name für das ergebnis sein.
und dieses solte er mir anzeigen.

ist das Falsch ?? hab ich das ganz falsch verstanden ??

villeicht könnt Ihr mir ein kleines beispiel mit einer else funktion zeigen.

das ich es mal richtig verstehe, leider findet man im netz immer nur ganz einfache sachen ;-(

es wäre eine grosse hilfe !!! schon mal ein GROSSES DANKE!!!

lg Christian
 
Hallo an Alle,

zur info hier die Lössung:

PHP:
<!-- neuer teste-->
<!--
<div id="apDiva<?php echo ++$test?>" onMouseOver="MM_showHideLayers('apDivb<?php echo $test?> ','','show')" onMouseOut="MM_showHideLayers('apDivb<?php echo $test?> ','','hide')"><a href="#"><?echo $zeile10['name'];?></a></div>
<div id="apDivb<?php echo $test?> ">Strasse:  <?echo $zeile10['strasse'];?>,  Nummer:  +<? echo $zeile10['gnummer'] ;?></div>
-->

		
  <div id="CollapsiblePanel<? echo ++$test; ?>" class="CollapsiblePanel">
    <div class="CollapsiblePanelTab" tabindex=""><span class='Stil8'><?echo $zeile10['akgrad'];?> <?echo $zeile10['name'];?> </span>,   in   <span class='Stil4'><?echo $zeile10['plz'];?></span>  <span class='Stil4'><?echo $zeile10['ort'];?></span></div>
    <div class="CollapsiblePanelContent"><span class='Stil4'>

	<?foreach(glob('dateien/benutzer_dateien/{*.jpg,*.jpeg,*.gif,*.png}', GLOB_BRACE) as $image)?> 
			<img src="<? if ($zeile10['logo']==true)
			{ 
			$testlogo =$zeile10['logo'];
			echo str_replace(' ','',"$bild$bild1$testlogo");
			}
				else
					echo "images/voip4.png";?>" alt="Kein Logo vorhanden!" title="Telefonbuch" href="<? echo $uri;?>" 
					name="<? "$testlogo";?>" width="228" height="81" align="right";>
			
			Nummer:    +<? echo $zeile10['gnummer'] ;?><br>
			Strasse:    <?echo $zeile10['strasse'];?> <?echo $zeile10['hausnr'];?>,  Tür: <?echo $zeile10['tuer'];?><br>
			E-Mail:   <a href= "mailto:<? echo $zeile10['email'] ;?> ?subject=Anfrage über die Seite www.VoIP4.at "><? echo $zeile10['email'] ;?> </a><br>
			Internet Auftritt:    <a target=" _blank " title="Telefonbuch" href="<? echo $uri;?>"><? echo $zeile10['web'] ;?></a></span></div>
			
  </div>
  
<script type="text/javascript">
<!--
var CollapsiblePanel<? echo $test; ?> = new Spry.Widget.CollapsiblePanel("CollapsiblePanel<? echo $test; ?>", {contentIsOpen:false});
//-->
</script>


lg Christian

PS bei mir funkt es noch nicht 100% da aus welchem grund auch immer in der datenbank unter Logo eine leerstelle drinn ist obwohl nichts abgespeichert wird.

fals wer einen tip hat wäre supppiii --> DANKE
 
Oben