Bilder includiert

djlein

Grünschnabel
Hallo

Ich möchte die verlinkten Bilder nicht in einem neuen weissen Fenster haben, sondern im Design bzw. im Ressort. Aber ich schnall nicht wie das geht. Kann mir da jemand helfen?



Link: http://djlein.ch/index.php?ressort=wallpaper


PHP:
 <?php

function query_into_array($query){
settype($retval,"array");
$result= mysql_query($query);
$y=mysql_num_rows($result);
$k=mysql_num_fields($result);
  for($i=0;$i<$y;$i++){
    for($j=0;$j<$k;$j++){
    $retval[$i][mysql_field_name($result,$j)] =
    mysql_result($result,$i,
mysql_field_name($result,$j));
    }
  }
return $retval;
}
?>
<?php
//include('calculate.php');

$db=@mysql_connect("localhost","xxx","xxx");
@mysql_select_db("xxx",$db);

// Daten in ein Array schreiben
$erg=query_into_array("select * from galerie");

// Anzahl der Bilder ermitteln
$y=count($erg);

?>

<style type="text/css">
<!--
.Stil1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #FFFFFF;
}
-->
</style>

<table width="760" cellspacing="0">
<? for ($x=0;$x<$y;$x+=2) {?>
  <tr>
    <td width="20%">
      <? if($erg[$x][bild]) {?>
       <a href="<? echo "test/pics/".$erg[$x][bild] ?>"><img src="<? echo "test/pics/".$erg[$x][bild] ?>" border="0" height="200"></a>
      <? } ?>
    </td>
    <td width="20%">
      <? if($erg[$x+1][bild]) {?>
   <a href="<? echo "test/pics/".$erg[$x+1][bild] ?>"><img src="<? echo "test/pics/".$erg[$x+1][bild] ?>" border="0" height="200"></a>
      <? } ?>
    </td>
  </tr>
  <tr>
    <td width="20%"><span class="Stil1"><? echo $erg[$x][text] ?></span></td>
    <td width="20%"><span class="Stil1"><? echo $erg[$x+1][text] ?></span></td>
  </tr>
  <? } ?>
</table>
 
Verstehst Du eigentlich Deinen eigenen Code ueberhaupt noch? Der ist ja unlesbar.
Mal ganz davon abgesehen, dass Du nicht die hier verfuegbaren Tags fuer Syntax-Highlighting genutzt hast (was ich mal fuer Dich beheben werde) nutzt Du keinerlei Einrueckung (was ich nicht beheben werde) und einen Programmierstil bei dem mein TrapCheck-Script sich die Haende vor die Augen halten wuerde (worauf ich morgen mal genauer eingehen werde).

Wenn Du Bilder verlinken willst und diese eben in Deinem Design geoeffnet werden sollen musst Du auf ein Script verlinken welches Du das Bild (also den Dateinamen oder besser eine ID) uebergibst. Das verlinkte Script kann dann, im Design, das Bild darstellen.

Nachtrag: Okay, jetzt mit Syntax-Highlighting gibt's auch eingerueckten Code. Der Kommentar dazu ist also hinfaellig.
 
Sorry bin halt kein ProgrammiererIn!

Und es ist eingerückt... vieleicht nicht übertrieben aber ein wenig?!
Naja, egal.
 
djlein hat gesagt.:
Sorry bin halt kein ProgrammiererIn!

Und es ist eingerückt... vieleicht nicht übertrieben aber ein wenig?!
Naja, egal.
Die Einrueckungen sieht man aber erst jetzt nachdem ich das Highlighting gesetzt hab.
Und es ist ja nichts schlimmes Anfaenger(in) zu sein. Morgen schreib ich mal ein paar "Guidelines" zusammen die fuer Dich nicht uninteressant sein koennten damit Du Dich gleich daran gewoehnen kannst und nicht spaeter alles umstricken musst wenn ploetzlich Probleme auftauchen.

Uebrigens, der 2. Absatz meines vorangegangenen Posts geht auch konkret auf Dein Problem ein und nicht nur auf Deinen Programmierstil.

So, jetzt nehm ich mir mal ein paar Minuten Zeit um Dir was zusammen zu dichten.
  • Verwendung des "Short open Tags" <?
    Auch wenn das grundsaetzlich funktioniert sollte davon abgesehen werden. Die Moeglichkeit <? anstelle von <?php zu nutzen kann per php.ini deaktiviert werden.
  • Unterdrueckung von moeglichen Fehlermeldungen mittels @ vor dem Funktionsnamen
    Das sollte man nur im absoluten Ausnahmefall nutzen. Ein vernuenftig programmiertes Script sollte selbst dann keine unerwuenschten Ausgaben bringen wenn das Error-Reporting auf E_ALL steht. Weiterhin wird dadurch, wie in Deinem Script, das Script trotz gravierender Probleme weiter einfach weiter ausgefuehrt. So sollte z.B. mysql_select_db() nur einen Fehler werfen wenn mysql_connect() fehlgeschlagen ist. Da Du die Fehlermeldung unterdrueckst kommst Du gleich zum naechsten Fehler, der auch wieder unterdrueckt wird. Hier waere es wesentlich besser zu ueberpruefen ob Funktionen erfolgreich ausgefuehrt wurden. mysql_connect() liefert zum Beispiel false zurueck wenn die Verbindung nicht aufgebaut werden konnte. In diesem Fall kann man gleich alles was mit der Datenbank zu tun hat vergessen, also garnicht erst ausfuehren um unnoetige Folgefehler zu vermeiden.
  • Nicht-Kennzeichnung von Strings
    Dies sollte eigentlich ein absolutes No-No sein. Konstrukte wie $mein_array[blablabla] funktionieren zwar, da PHP in dem Fall sehr kulant ist, aber sollte vermieden werden um Kollisionen mit eventuell existenten Konstanten vorzubeugen. $mein_array[blablabla] kann bei Existenz der Konstante blablabla einen ganz anderen Inhalt (oder auch gar keinen) repraesentieren als wenn die Konstante nicht deklariert ist. Es sollte hier in jedem Fall der String als solcher markiert werden, es sei denn es handelt sich wirklich um eine Konstante. Aus $mein_array[blablabla] wuerde somit $mein_array['blablabla'] oder $mein_array["blablabla"].
Ich glaub am Wochenende versuch ich mal mein TrapCheck-Script fertig zu machen damit ich das posten kann.
 
Du musst bei den Thumbnails als Link wieder ein Script, natuerlich wieder ueber index.php damit Du Dein Layout bekommst. Und dort wo eben jetzt die Thumbnails angezeigt werden wird dann das gewuenschte Bild dargestellt.
 
Zurück