Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
schischi
Threadersteller
Dabei seit: 05.03.2008
Ort: -
Alter: 52
Geschlecht:
|
Verfasst So 09.03.2008 16:20
Titel Bilder einlesen von mysql |
|
|
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
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 09.03.2008 21:20
Titel
|
|
|
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 21:21, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
schischi
Threadersteller
Dabei seit: 05.03.2008
Ort: -
Alter: 52
Geschlecht:
|
Verfasst Mo 10.03.2008 10:15
Titel
|
|
|
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ö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ß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 >
$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
}
?>
|
|
|
|
|
|
Kraat
Dabei seit: 05.10.2006
Ort: Köln
Alter: 42
Geschlecht:
|
Verfasst Mo 10.03.2008 10:25
Titel
|
|
|
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
}
?>
|
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.
|
|
|
|
|
schischi
Threadersteller
Dabei seit: 05.03.2008
Ort: -
Alter: 52
Geschlecht:
|
Verfasst Mo 10.03.2008 10:33
Titel
|
|
|
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!!
|
|
|
|
|
|
|
|
Ähnliche Themen |
Flash CS3 - Bilder aus Verzeichnis einlesen
[PHP/MySQL] Bilder in die Datenbank laden
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
Xml einlesen mit button?
|
|
|
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.
|
|