mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 13.11.2019 08:14 Benutzername: Passwort: Auto-Login

Thema: Bilder einlesen von mysql vom 09.03.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Bilder einlesen von mysql
Autor Nachricht
schischi
Threadersteller

Dabei seit: 05.03.2008
Ort: -
Alter: 48
Geschlecht: Männlich
Verfasst So 09.03.2008 15:20
Titel

Bilder einlesen von mysql

Antworten mit Zitat Zum Seitenanfang

Hallo brauche hilfe PHP/Mysql

möchte, wenn man auf ein bild klickt dieses grösser in einem popup fenster zu sehen ist, dieses geht auch!

das problem liegt im blättern der bilder. z.b es sind 8 bilder und nach dem achten sollte wieder das erste zu sehn sein, das macht das script bis jetzt noch nicht, sondern zeigt mir an anzahl der bilder 0, wie auch wenn man zurückblättert vom dem 1sten sollte das 8te zu sehen sein!!

hier die scripte und hoffe ihr könnt mir helfen, bin schon seit paar wochen dran und bekomme es nicht gebacken:-(.


Code:
<div id=""><a href="javascript:picopen(1)"><img src="../Pic/AluThumb/Auto/blau/Auto_blau_svl.jpg" width="154" height="100" alt="Auto blau" border="0"></a></div>





/
Code:
* picopen.js für bildergalerie*/

    function picopen(bild)
{
f = window.open("pic.php?count="+bild,"sotierung","locationbar=no, menubar=no, resizable=yes, scrollbars=no, width=580, height=470, left=200,top=200");
}



verbindung zu msql:
Code:
$mysqlhost="localhost"; // Host angeben
$mysqluser="ßßß"; // User angeben
$mysqlpwd="ßßßß"; // Passwort angeben
$mysqldb="Handmadeshop"; // Datenbank angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");

$count = $_GET['count'];
$max = 8;
$min = 1;

$sql = "SELECT * FROM auto_de where sort = '$count'";

$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

$anzahl = mysql_num_rows($adressen_query);
echo "Anzahl der Bilder: $anzahl";
?>
<?php
while ($adr = mysql_fetch_array($adressen_query)){
mysql_close($connection);
?>


die button's:
Code:
<form action='<?php if($count > 0) {
 $Ziel=(string) $count-1;
}else{
  echo 'pic.php?count='.$Ziel;
}?>' method="post" name="prevpic" target="_self">
<input name="prevbt" type="image" src="../gif/vorbutton.jpg">
</form></td>
<td width="31%" id="logo">Handmadeshop</td>
<td width="25%">
<form action='<?php if($count < $max) {
  $Ziel=(string) $count+1;
}else{
  echo 'pic.php?count='.$Ziel;
}?>' method="post" name="nextpic" target="_self">
<div align="right">
<input name="nextbt" type="image" src="../gif/naechbutton.jpg">
</div>
</form>



nehme jeden tip sehr gerne an!
danke im voraus
schischi
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 42
Geschlecht: Männlich
Verfasst So 09.03.2008 20:20
Titel

Antworten mit Zitat Zum Seitenanfang

Da fallen mir aber gleich noch ein paar andere Dinge an dem Code auf als nur dein eigentliches Problem.

Code:
<a href="javascript:picopen(1)">

Als Linkziel gibt es nur das Pseudoprotokoll javascript:. Was ist bei Usern, die kein JS ausführen können/wollen/dürfen?
Keine Fallbackmöglichkeit?

Code:
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");

Bei einem Fehler erhälst du nicht nur die Fehlermeldung "Verbindungsversuch fehlgeschlagen", sondern auch noch eine weitere, weil du die Fehlerausgabe von mysql_connect nicht mit vorrangestelltem @ unterdrückst.
Kommt es hier außerdem zu einer Fehlermeldung, dann bricht die() die Verarbeitung des Scriptes ab und die HTML-Seite wird nicht mehr zu Ende geschrieben, was in invalidem HTML-Code endet...

Code:
$count = $_GET['count'];

Warum hier den Wert der einen Variablen in eine andere kopieren statt direkt drauf zuzugreifen?
Speicherverschwendung, würde ich sagen.

Code:
$sql = "SELECT * FROM auto_de where sort = '$count'";

Warum soll ich nicht SELECT * schreiben?
Und dann werden hier Daten von außen ungeprüft, unbereinigt und ungesichert in deine Abfragen eingebaut.
Leichtes Spiel für einen Angriff per SQL-Injection. Fahrlässige Programmierung. Sowas darfst du in gar keinem Fall tun. Die Absicherung mit mysql_real_escape_string() ist das Mindeste, was du tun solltest.

Code:
<?php
while ($adr = mysql_fetch_array($adressen_query)){
mysql_close($connection);
?>

Keine schließende geschweifte Klammer, um die while-Schleife zu beenden?
Gibt das keine Fehlermeldung?

Code:
$Ziel=(string) $count-1;

Das Casting ist in diesem Fall überflüssig.


Naja und zu deinem Problem: Eine einfache if-Abfrage sollte das doch erledigen, oder?
Nach dem achten willst du wieder zum ersten kommen. Wo ist dann da das Problem?
Code:
if ( $bild > 8 )
  $zaehler = 1;

und dementsprechend umgekehrt, wenn du vor dem ersten das achte haben willst.


Zuletzt bearbeitet von rob am So 09.03.2008 20:21, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
schischi
Threadersteller

Dabei seit: 05.03.2008
Ort: -
Alter: 48
Geschlecht: Männlich
Verfasst Mo 10.03.2008 09:15
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo rob, danke fuer die Antwort,

es ist schoen zu lesen, wenn es jemand kann, aber leider bin ich in der sache noch so frisch,
das ich manches noch nicht weiss!!


ich habe da noch ne moeglichkeit wegen dem javascript, und zwar(was wuerdest du mir empfeheln?) wollte ich da eine einfache bildergallerie erstellen, ich schaetze, das muss ich wohl, weil ich bekomme meistens antworten,
so, dass ich sie als anfaenger nicht verstehe, nimm mir das bitte nicht uebel, aber wenn ich es doch weiss
und bin ein profi darin, dann schreib ich es auch gleich hin, das es geht! es scheint mir schon so, das da manche nur heiss auf beitraege sind, ich mein dieses nicht hier, sondern das phpforum. ich mach da schon zwei wochen rum
an den button und hab einige beispiele gelesen und geh&ouml;rt, doch ohne erfolg und da macht die sache, das zu
tun nicht froehlicher!!

das mysql_connect wurde so gleich gemacht und dieses mal mit erfolg, vielen dank!!

Code:

$count = $_GET['count'];

wurde mir von einigen phpler vorgeschlagen, "Wo und warum machtst du keine Uebergabe"
das frag ich mich bis heute noch, denn ohne geht es bei diesem script nicht und bei diesem, wo
ich's her hatte geht es ohne http://www.ronnyfoerster.de/spassmann/tuts/gallery/tut_gallery.htm!!


ich hab das script noch an den button's geaendert aber das scheint so nicht zu klappen!!
und ich schaetze du weisst warum????

hier nochmal das script der pic.php:
ich hoffe es kann mir hier geholfen werden!!

Zitat:
<html>
<head><title>Bildfenster</title>
<link rel="stylesheet" href="../css/phpini.css" type="text/css" media="screen"></style>
</head>

<body onLoad = "window.resizeTo(570, 500)">
<?php

$foo = "??"; // string
$bar = ??; // boolean

settype($foo, "??");
settype($bar, "??");
error_reporting(E_ERROR | E_WARNING | E_PARSE);

$mysqlhost="localhost"; // Host angeben
$mysqluser="??"; // User angeben
$mysqlpwd="??"; // Passwort angeben
$mysqldb="Handmadeshop"; // Datenbank angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");

$count = $_GET['count'];
$bilder = 8;
$zaehler = 1;

$sql = "SELECT * FROM auto_de where sort = '$count'";

$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

$anzahl = mysql_num_rows($adressen_query);
echo "Anzahl der Bilder: $anzahl";
?>
<?php
while ($adr = mysql_fetch_array($adressen_query)){
mysql_close($connection);
?>
<table bgcolor="#0000CC" border="0" align="center" cellspacing="0" name="tab">
<tr>
<td id="masse"><?php echo $adr['name'] ?></td>
</tr><tr>
<td id="kommentarzelle"><?php echo $adr['masse'] ?></td>
<tr>
<td align="center" width="100" height="100" id="bildzelle"><img src="<?php echo $adr['bildpfad']?>" alt="Hier sollte das gro&szlig;e Bild zu sehen sein!">
</td>
</tr>
<tr>
<td height="26"><table width="100%" border="0" cellspacing="0" border="1">
<tr>
<td width="25%" height="41" id="buttonzelle" valign="middle">
<form action='<?php if ($bild > *hehe*
$zaehler = 1;
?>' method="post" name="prevpic" target="_self">
<input name="prevbt" type="image" src="../gif/vorbutton.jpg">
</form></td>
<td width="31%" id="logo">Handmadeshop</td>
<td width="25%">
<form action='<?php if ($bild < 0)
$zaehler = 8;
?>' method="post" name="nextpic" target="_self">
<div align="right">
<input name="nextbt" type="image" src="../gif/naechbutton.jpg">
</div>
</form></td>
</tr>
</table></td>
</tr>
</table>
</body></html>
<?php
}
?>

  View user's profile Private Nachricht senden
Kraat

Dabei seit: 05.10.2006
Ort: Köln
Alter: 38
Geschlecht: Männlich
Verfasst Mo 10.03.2008 09:25
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

<form action='<?php if ($bild > *hehe*
$zaehler = 1;
?>' method="post" name="prevpic" target="_self">
<input name="prevbt" type="image" src="../gif/vorbutton.jpg">
</form></td>
<td width="31%" id="logo">Handmadeshop</td>
<td width="25%">
<form action='<?php if ($bild < 0)
$zaehler = 8;
?>' method="post" name="nextpic" target="_self">
<div align="right">
<input name="nextbt" type="image" src="../gif/naechbutton.jpg">
</div>
</form></td>
</tr>
</table></td>
</tr>
</table>
</body></html>
<?php
}
?>


* Ööhm... ja? * Was soll das denn sein?? Also "vor" und "zurück" bekommste ganz einfach hin, wenn Du die alle Bilder rechnest (Gesamt Zahl) und das Einzebild (Aktuelle), dann einfach bei zurück ein "-1" und bei vor ein "+1". Dadruch das Du gesamtzahl ja ashcon hast ist es relativ einfach, wenn man ein bisschen Mathe kann.

Aber dir hats da echt die Form zerschossen.
  View user's profile Private Nachricht senden
schischi
Threadersteller

Dabei seit: 05.03.2008
Ort: -
Alter: 48
Geschlecht: Männlich
Verfasst Mo 10.03.2008 09:33
Titel

Antworten mit Zitat Zum Seitenanfang

warum bekommt man denn keine vernuenftige antwort mehr, wenn Sie es schon wissen,

mit hehe geht es nicht und ich hoffe das weisst du auch!!

hoffe weiter auf hilfe!!
  View user's profile Private Nachricht senden
 
Ähnliche Themen Flash CS3 - Bilder aus Verzeichnis einlesen
[PHP/MySQL] Bilder in die Datenbank laden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
(php-mysql) übergabe von formulardaten und abfrage m. mysql
[PHP / MySQL] MySQL-Funktion gesucht: letzteÄnderungTabelle
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.