Halialo, ich hätte mal wieder eine frage.
Und zwar, programmiere ich im moment eine kleine Bildergallerie.
Folgende Lage ich habe z.B. 5 Variablen das kann allerdings variieren,
diese serialisiere ich, lege sie in einer MySQL Datenbank ab.
Anschließend wen die Gallerie abgerufen wird hole ich mit diese wieder aus der
Datenbank und deserialisiere sie wieder und daher das die ja zusammenhängend in die Datenbank geschrieben werden muss ich sie mit explode() wieder auseinander spalten.
Das problem wenn ich nur eine variable --[ variablexy; (semikolon wegen der trennzechenfrage bei explode()) ]-- habe die den inhalt picture.jpg trägt bekomme ich danach nicht den folgenden effekt $var["012"] heraus wie es bei der funktion beschrieben ist. Ist das normal oder hab ich einen Fehler oder besser was kann ich dagegen tun.
Achja ich Post den code mal hier rein nach dem oberen teil des PHP Scripts ist noch alles ungetestet und zum teil nicht fertig also bitte nicht beachten.
Sollte es allerdings doch Jemanden interressieren kan er mir allerdings ja Feedback geben ob es funktioniert oder nicht
Achja und ich mache jetzt Feierabend also ich antworte morgen.
Schonmal THX im vorraus.
UND edit kommt morgen ich bin mir sicher das ich bestimmt irgendwas
schon wieder vergessen habe Informationelles zu schreibe.
Und zwar, programmiere ich im moment eine kleine Bildergallerie.
Folgende Lage ich habe z.B. 5 Variablen das kann allerdings variieren,
diese serialisiere ich, lege sie in einer MySQL Datenbank ab.
Anschließend wen die Gallerie abgerufen wird hole ich mit diese wieder aus der
Datenbank und deserialisiere sie wieder und daher das die ja zusammenhängend in die Datenbank geschrieben werden muss ich sie mit explode() wieder auseinander spalten.
Das problem wenn ich nur eine variable --[ variablexy; (semikolon wegen der trennzechenfrage bei explode()) ]-- habe die den inhalt picture.jpg trägt bekomme ich danach nicht den folgenden effekt $var["012"] heraus wie es bei der funktion beschrieben ist. Ist das normal oder hab ich einen Fehler oder besser was kann ich dagegen tun.
Achja ich Post den code mal hier rein nach dem oberen teil des PHP Scripts ist noch alles ungetestet und zum teil nicht fertig also bitte nicht beachten.
Sollte es allerdings doch Jemanden interressieren kan er mir allerdings ja Feedback geben ob es funktioniert oder nicht
Achja und ich mache jetzt Feierabend also ich antworte morgen.
Schonmal THX im vorraus.
UND edit kommt morgen ich bin mir sicher das ich bestimmt irgendwas
schon wieder vergessen habe Informationelles zu schreibe.
PHP-Code:
// HIER ANFANG DES PROBLEMCODES!!!
<?php
// Abfrage und Darstellung
$_session->vars["article"]["number"] = $_GET["artnr"]; //variablenübergabe GET der art_nr der aktuellen session
require('../system/modules/general/config/cfg.general.php'); //general config
//DB abfrage mysql
$db = new mysqli($_config["database"]["shop"]["host"], $_config["database"]["shop"]["username"], $_config["database"]["shop"]["password"], $_config["database"]["shop"]["dbname"]);
if (mysqli_connect_errno()) { //if connect error dann...
echo 'Fehler: Verbindung zur Datenbank nicht möglich.';
exit;
}
$artnr = $_session->vars["article"]["number"];
$query = "SELECT art_pic_res, art_pic_first FROM art WHERE art_nr = $artnr"; //query
$result = $db->query($query); //query ausfürhung
$row = $result->fetch_assoc(); //sqlspalten umformung in arrays
printf ("%s %s \n", $row["art_pic_res"], $row["art_pic_first"]); //Überprüfung ob variablen vorhanden
$GLOBALS["art_pic_res"] = $row["art_pic_res"];
$GLOBALS["art_pic_first"] = $row["art_pic_first"];
$result->close();
$db->close();
$picresource = $GLOBALS["art_pic_res"];
$firstpic = $GLOBALS["art_pic_first"];
echo $picresource;
$picresource = unserialize($picresource); //uncodeing of $picresource
echo $picresource;
$picsresource = explode(';',$picresource); // $picresource[0], $picresource[1], $picresource[2], $picresource[3],...
echo $picresource[0];
?>
// HIER ENDE DES PROBLEMCODES
// HIER ANFANG DES JAVASCRIPTS GEHÖRT ABER NICHT ZUM
//THEMA WENN ALLERDINGS DOCH JEMAND FEEDBACK
// GEBEN WILL KANN ER DAS MEINERSEITS GERNE TUN
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ohne_Titel_1</title>
<style type="text/css">
.style1 {
text-align: center;
}
</style>
<title>Meine ersten Ajax Erfahrungen</title>
<script type=\"text/javascript\"><!--
function doIt(){
var bild =null; // Großbildanzeige der Gallerie
if (window.XMLHttpRequest) {
bild = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
bild = new ActiveXObject('Microsoft.XMLHTTP');
}
if (bild != null) {
bild.open('GET', '<?php echo $_config["module"]["gallerie"]["picpath"].$picresource[0]; ?>', true);
bild.onreadystatechange = ausgeben;
bild.send(null);
}
function ausgeben() {
if (bild.readyState == 4) {
document.getElementById('bild').innerHTML =
bild.responseText;
}
}
var aktuell =null; // Mittlerer Thumbnail
if (window.XMLHttpRequest) {
aktuell = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
aktuell = new ActiveXObject('Microsoft.XMLHTTP');
}
if (aktuell != null) {
aktuell.open('GET', '<?php echo $_config["module"]["gallerie"]["picpath"].$picresource[0]; ?>', true);
aktuell.onreadystatechange = ausgeben;
aktuell.send(null);
}
function ausgeben() {
if (aktuell.readyState == 4) {
document.getElementById('aktuell').innerHTML =
aktuell.responseText;
}
}
//while für listenabfrage, ob -1 beim array, picresource vorhanden ist ( ob bild anzeigen oder nicht)
<?php while (list($key, $val) = each($picresource)) {
if($key == -1) {
?>
var previouspicture = null; //vorheriger thumbnail
if (window.XMLHttpRequest) {
previouspicture = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
previuspicture = new ActiveXObject('Microsoft.XMLHTTP');
}
if (previouspicture != null) {
previouspicture.open('GET', '<?php echo $_config["module"]["gallerie"]["picpath"].$picresource[-1] ?>', true);
previouspicture.onreadystatechange = ausgeben;
previouspicture.send(null);
}
function ausgeben() {
if (previouspicture.readyState == 4) {
document.getElementById('previouspicture').innerHTML =
previouspicture.responseText;
}
}
<?php }
}
?>
//while für listenabfrage, ob 1 beim array, picresource vorhanden ist ( ob bild anzeigen oder nicht)
<?php while (list($key, $val) = each($picresource)) {
if ($key == 1){
?>
var nextpicture =null; // nächster thumbnail
if (window.XMLHttpRequest) {
nextpicture = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
nextpicture = new ActiveXObject('Microsoft.XMLHTTP');
}
if (nextpicture != null) {
nextpicture.open('GET', '<?php echo $_config["module"]["gallerie"]["picpath"].$picresource[1] ?>', true);
nextpicture.onreadystatechange = ausgeben;
nextpicture.send(null);
}
function ausgeben() {
if (nextpicture.readyState == 4) {
document.getElementById('nextpicture').innerHTML =
nextpicture.responseText;
}
}
}
<?php
}
}
?>
//-->
</script>
</head>
<body>
<table style="width: 100%">
<tr>
<td colspan="5" class="style1">
<div id="bild"></div>
</td>
</tr>
<tr>
<td style="width:20px;"><a href="http://www.php.de/modules/articles/modules/mod.articlepicturegallery.php?goleft=true"><img src="http://www.php.de/grafik/black_15x11_left.gif"></a></td>
<td class="style1"><div id="previouspicture"></div></td>
<td class="style1"><div id="aktuell"></div></td>
<td class="style1"><div id="nextpicture"></div></td>
<td style="width:20px;"><a href="http://www.php.de/modules/articles/modules/mod.articlepicturegallery.php?goright=true"><img src="http://www.php.de/grafik/black_15x11.gif"></a></td>
</tr>
</table>
</body>
</html>
Kommentar