Problem mit Galeriebild

mtk|NeuerGott
Servus, hab hier mal einen code und wollte einfach mal anfragen, ob mir jemand sagen kann, wie ich darin eine vor - und zurück navigation einbauen kann. es handelt sich hierbei um die php datei, die ein galeriebild anzeigen lässt...

ich hoffe ihr könnt mir helfen, in anderen communitys wurde lange gerätselt, allerdings ohne ergebnis.

hier der code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
<? 
ob_start();
$limitpage=1;
include("../includes/config.php");
include("../includes/conn.php");
include("../includes/functions.php");

	$query="select * from " . $sql_prefix . "_optionen";
	$result=mysql_query($query);
	$rowglobal=mysql_fetch_array($result);
	$theme = "$rowglobal[theme]";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title><?=$_REQUEST['pic'] ?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../theme/<?=$theme;?>/mainlayout/style.css" rel="stylesheet" type="text/css">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" class="td2" onload="OpenIt()"> 
<? 
$size = @GetImageSize ("../uploads/galerie/".$_REQUEST['pic']."", $info);
?>

<script>
<!--
  IE4 = (document.all) ? true : false;
  NS4 = (document.layers) ? true : false;
  <? if($size[0]<500)
  {
  $size[0] = "500";
  }
  
  if($size[1]<250)
  {
  $size[1] = "250";
  }
  
  if($size[1]>620){$size[1]=620;}
  if($size[0]>900){$size[0]=900;}
  ?>
  xsize = '<?=$size[0]+38;?>'; 					
  ysize = '<?=$size[1]+80;?>'; 			
  ScreenWidth = screen.width;
  ScreenHeight = screen.height;
  xpos = (ScreenWidth/2)-(xsize/2);		
  ypos = (ScreenHeight/2)-(ysize/2);		
  ver4 = (IE4||NS4);
		ver4 = true;
 /*
  if (ver4!=true){  
  function OpenIt(){
					alert('Bitte installieren Sie einen Browser mit Support von Javascript 1.2.')
        self.history.back();
        }
    }
  */
  ver4=true;
  if (ver4==true){
  function OpenIt(){
	window.moveTo(xpos,ypos)
    window.resizeTo(xsize,ysize)
  
      }
}
//-->
</script> 
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td height="100%" class="td1"><table  border="0" align="center" cellpadding="3" cellspacing="0"> 
        <tr>
          <td>
<div align="center">
 <?
$query="select * from " . $sql_prefix . "_galerie_bilder where name='$_REQUEST[pic]'";
$result=mysql_query($query);
$bildinfo=mysql_fetch_array($result);
if($_REQUEST['start'] == "") {
$start=0;
}


$query="select * from " . $sql_prefix . "_galerie_bilder where kat='$bildinfo[kat]' AND status='1' ORDER BY id ASC";
$result=mysql_query($query);
$number=mysql_num_rows($result);
$i=0;
$r=1;

while($i < $number) {
	$row=mysql_fetch_array($result);
	echo " <a target=_top href=picview.php?pic=$row[name]>";
	if ($bildinfo[id] == $row[id]) {
	echo "</a> $r ";
	} else {
	echo "$r</a> ";
	}
	$i++;
	$r++;
	}
?>
          </div></td>
        </tr>
        <tr> 
          <td><div align="center"><a href="javascript:window.close();"><img src="../uploads/galerie/<?=$_REQUEST['pic'] ?>" alt="Fenster schliessen" border="0"></a></div></td> 
        </tr>
        <tr>
          <td><div align="center"><?=stripslashes($bildinfo['beschreibung']);?></div></td>
        </tr>
        <tr>
          <td><div align="center">
            <?
$query="select * from " . $sql_prefix . "_galerie_bilder where name='$_REQUEST[pic]' AND status='1'";
$result=mysql_query($query);
$bildinfo=mysql_fetch_array($result);
if($_REQUEST['start'] == "") {
$start=0;
}


$query="select * from " . $sql_prefix . "_galerie_bilder where kat='$bildinfo[kat]' AND status='1' ORDER BY id ASC";
$result=mysql_query($query);
$number=mysql_num_rows($result);
$i=0;
$r=1;

while($i < $number) {
	$row=mysql_fetch_array($result);
	echo " <a target=_top href=picview.php?pic=$row[name]>";
	if ($bildinfo[id] == $row[id]) {
	echo "</a> $r ";
	} else {
	echo "$r</a> ";
	}
	$i++;
	$r++;
	}
?>
          </div></td>
        </tr> 
      </table></td> 
  </tr> 
</table> 
</body>
</html>


oder im anhang

vielen vielen dank schon mal
mtk|NeuerGott
ach ja so sieht das galeriebild live aus, die navigation lässt jedoch stark zu wünschen übrig:

tkshorty
code:
1:
echo " <a target=\"_top\" href=\"picview.php?pic=($pic+1)\"">-&gt</a>";


und das gleiche für rückwärts nur mit -1

ich würd an deiner stelle dann auch noch ne abfrage machen welchen wert pic hat und dadurch beim ersten bild <- und beim letzten -> ausblenden
max77
Die Lösung ist gut!
Nur muß beim "&gt" noch ein ";" dahiner, weil sonst tatsächlich der Text angezeigt wird.
ThiefMaster
Schwachsinn:
php:
1:
<?php $theme "$rowglobal[theme]"?>

warum nicht einfach so:?
php:
1:
<?php $theme $rowglobal['theme']; ?>
mtk|NeuerGott
klingt logisch, ich danke euch vielmals, aber ein noob ist nun mal leider ein noob... wo soll ich denn die zeile einfügen???

sorry dass ich nicht gleich geantwortet habe, habe grade streit mit meinem windows...
Chris Hunter
Zitat:
Original von ThiefMaster
Schwachsinn:
php:
1:
<?php $theme "$rowglobal[theme]"?>

warum nicht einfach so:?
php:
1:
<?php $theme $rowglobal['theme']; ?>


*jubel*
daHooligan
das kommt wirklich nur darauf an, wo es angezeigt werden soll.
wenn du ein bissel html kannst, wird das ohne weiteres gehen. ansonsten: einfach ausprobieren.
meine persönliche Idee:
vor dem
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
?>
          </div></td>
        </tr> 
      </table></td> 
  </tr> 
</table> 
</body>
</html>

(bitte das "?>" beachten!!!)
die Zeile:
code:
1:
2:
3:
4:
echo " <a target=\"_top\" href=\"picview.php?pic=($pic-1)\""&lt;- zur&uuml;ck</a>";
echo " <a target=\"_top\" href=\"picview.php?pic=($pic+1)\"">vor -&gt;</a>";

einfügen.

das schreibt jetzt einfach "<- zurück vor->".
wenn du das ändern willst, meld dich nochmal, falls nötig
mtk|NeuerGott
nee geht leider auch net, habs genau da eingefügt aber ich bekomme beim aufrufen folgende fehlermeldung:

Parse error: parse error, unexpected '/' in /home/www/htdocs/iedp.de/engine/picview.php on line 139

wenn ich die beiden zeilen wieder rausnehme gehts wieder, aber halt ohne vor- und zurück....

html kann ich, ja... ich hab deswegen mal ausprobiert euren code da an meiner bescheidenen meinung nach passenden stellen einzufügen, aber es funzt einfach net.

könnte es vielleicht sein das ein kleiner fehler in den beiden zeilen ist?

habe mal was getestet: dein code ist zwar toll, aber da kommen zeichen drin vor die da net sein dürften, ich geh mal davon aus das liegt am board...

also hab ich den geändert in:
code:
1:
echo " <a target=_top href=picview.php?pic=$pic-1>BACK</a>";


jetzt hab ich da in der galerie stehen: BACK, wenn ich aber drauf klicke, lädt er das selbe Bild mit -1, sprich wenn ich bild1 hätte lädt er BILD1.jpg-1, welches es natürlich nicht gibt...

wie mach ich dem klar das pic=$pic-1 das vorherige bild sein soll?

so sieht das aus:
max77
Wie Du in Deinem Screenshot siehst sucht er die Datei "strgaltentf.pjg-1".
Du mußt einfach Klammern setzten, dann klappt es auch:

php:
1:
<?php echo " <a target=_top href=picview.php?pic=($pic-1)>BACK</a>"?>


Gruß
Dirk
mtk|NeuerGott
eben nicht, dann öffnet er zwar nicht mehr BILD.JPG-1, aber er sucht jetzt (BILD-1.JPG)....

Ich habs mit anführungszeichen versucht, mit eckigen Klammern, ich habe versucht NUR &pic UND NUR -1 in Klammern zu setzen, aber es will nicht funktionieren, abgesehen davon verlässt mich mein windows bald unglücklich

aber egal, solange mein editor , mein iexplorer und mein ftp proggie noch funzen, würde ich gerne mit eurer hilfe das problem lösen.

wie das ganze jetzt aussieht könnt ihr unter diesen link hier sehen: KLICK DEN KLICK


da mal auf ein bild so in der mitte klicken... es öffnet sich ein popup mit dem pic, oben haben wir dann die 12345667 leiste und unten dieselbe PLUS den textbutton BACK, welcher das problem darstellt..

danke für euer interesse, habe ja jetzt schon in vielen boards nach lösungen gesucht aber dieses hier ist mit abstand das beste, bin froh euch gefunden zu haben, thx
max77
Dann könnte es sein, daß Du das aus dem String rausnehmen muß:

php:
1:
<?php echo " <a target=_top href=picview.php?pic=".($pic-1).">BACK</a>"?>


Normalerweise wird der Wert von href auch in Anführungszeichen gesetzt. Versuch es doch mal mit:

php:
1:
<?php echo '<a target="_top" href=picview.php?pic="'.($pic-1).'">BACK</a>'?>
mtk|NeuerGott
hab ich gemacht, dann kommt aber diese fehlermeldung:

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/www/htdocs/iedp.de/engine/picview.php on line 139
daHooligan
probier mal
[PHP]
echo "<a target=\"_top\" href=\"picview.php?pic=\"".$pic--."\">BACK</a>";
[/PHP}
mtk|NeuerGott
auch net, wäre aber auch komisch gewesen, schließlich steht der code schon im php, siehe erster post hier...


Parse error: parse error, unexpected '[' in /home/www/htdocs/iedp.de/engine/picview.php on line 139
tkshorty
ich wodran es liegt ich dachte pic wäre die nummer und nicht der name.

du musst pic zu nem array machen.

und dann nachher $pic[($pic_nr-1)]

ich hoffe ihr wisst was ich damit meine
mtk|NeuerGott
leider net, sorry.... also ich weiß wat nen array is aber ich hab keine ahnung wie ich das anstellen soll und vor allem wohin das dann soll....
tkshorty
so ich hab mir das noch mal angeguckt und was zusammengeschustert was klappen müsste.

ich bin dabei jetzt von deinem script vom ersten beitrag ausgegangen.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<?php $html="";

while($i $number) {
    $row=mysql_fetch_array($result);
         $pic1[$i]=$row[name]
         if($pic1[$i]==$_REQUEST[pic])
           {$rueck=$pic1[($i-1)];}
         if($pic1[($i-1)]==$_REQUEST[pic])
           {$vor=$pic[$i];}
    $html.= " <a target=_top href=picview.php?pic=$pic[$i]>";
    if ($bildinfo[id] == $row[id]) {
    $html.= "</a> $r ";
    } else {
    $html.= "$r</a> ";
    }
    $i++;
    $r++;
    }
echo " <a target=_top href=picview.php?pic=$rueck>".$html;
echo " <a target=_top href=picview.php?pic=$vor>";
?> ?>


ich konnts wegen der ganzen datenbankabfragen leider net testen.

hoffe dir hilft das weiter
mtk|NeuerGott
so, wieder mal sorry für die verspätete nachricht, meinen rechner hats zerlegt, war schon schrecklich genug, vor allem die ganzen passwörter wieder zu finden - grausam sag ich euch!

also zu deinem code: ich bin begeistert, aber ich bin verwirrt!

soll ich das einfach unten einfügen? du hast das doch als einzelnes skript geschrieben oder steh ich aufm schlauch? wenn ja müsste ich doch irgendwie darauf verlinken....

ich setze das jetzt mal an einigen meiner meinung nach passenden stellen ein und berichte dann gleich, was dabei rausgekommen ist....

bis gleich
mtk|NeuerGott
leider den zonk gezogen:


Parse error: parse error, unexpected T_IF in /home/www/htdocs/iedp.de/engine/picview.php on line 145