[GastForen Programmierung/Entwicklung PHP und MySQL Fotoalbum blättern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Fotoalbum blättern

HackTack30
Beiträge gesamt: 17

21. Jun 2005, 14:31
Beitrag # 1 von 7
Bewertung:
(6037 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi !

Ich mal wieder !

Habe meine Fotoalben soweit fertig, es gibt nur Probleme mit der Blätterfunktion ! Gehe ich auf Seitenzahl gibt er mir nichts mehr aus ?


<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style3.css" rel="stylesheet" type="text/css">

</head>

<body leftmargin="60">
<?php

$mysqlhost="localhost"; // MySQL-Host angeben

$mysqluser="???"; // MySQL-User angeben

$mysqlpwd="???"; // Passwort angeben

$mysqldb="????"; // Gewuenschte Datenbank angeben




$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die

("Verbindungsversuch fehlgeschlagen");




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

waehlen.");



$Zeilen_pro_Seite = 1;


if (!isset($Anfangsposition)) {
$Anfangsposition = 0;
}

if( $jahr == "" or $monat == "" or $tag == "") {
if( $location == ""){


echo "<p align = left>";
echo "Bitte füllen Sie alle Datumsfelder aus";
echo "<br>";
echo "<br>";
echo "<a href =\"selektion_fotos.htm\">zur&uuml;ck<a/>";
echo "</p>";
exit();

}
else {
$sql = "select * from bilder Where location = '$location' limit $Anfangsposition, $Zeilen_pro_Seite";
$result=mysql_query($sql);
$result1=mysql_query("select * from bilder Where location = '$location'");

}

}

else{
if($location==""){

$sql = "select * from bilder Where jahr= '$jahr' and tag= '$tag' and monat= '$monat' limit $Anfangsposition, $Zeilen_pro_Seite";

$result=mysql_query($sql);
$result1=mysql_query("select * from bilder Where jahr= '$jahr' and tag= '$tag' and monat= '$monat'");

}
else

{
$sql = "select * from bilder Where jahr= '$jahr' and tag= '$tag' and monat= '$monat' and location= '$location' limit $Anfangsposition, $Zeilen_pro_Seite";

$result=mysql_query($sql);
$result1=mysql_query("select * from bilder Where jahr= '$jahr' and tag= '$tag' and monat= '$monat' and location= '$location'");


}

}
if (mysql_num_rows($result1) == ""){
echo "<p align = left>";
echo "Keine Termine vorhanden" ;

echo "<br>";
echo "<br>";
echo "<a href =\"selektion_fotos.htm\">zur&uuml;ck<a/>";
echo "</p>";

}


$Anzahl=mysql_num_rows($result1);

if ($location != "") {
echo "$location.";
}
else
{
echo "$tag"."$monat"."$jahr";
}
while ($row=mysql_fetch_array($result))

{
$tag=$row["tag"];
$monat=$row["monat"];
$jahr=$row["jahr"];
$location=$row["location"];
$bildpfad=$row["bildpfad"];




?></div>
<p>
<?php

$bild_pfad = $bildpfad; // Ordner in dem die Bilder sind

$oeffne_pfad=opendir($bild_pfad); // Ordner öffnen

while ($find = readdir($oeffne_pfad)) // Ordnerinhalt auslesen
{
if (preg_match("/^$item.*\.(?:jpg|gif|png)$/i", $find))
{
$bild = "$bild_pfad/$find";
$anzahl++;
$anzahl_bilder = $anzahl;

//Ausgabe der Bildvorschau
echo "<a href='$bild' target='pic_haupt'><img src='$bild' width=100 height=75 border=1'></a>";

}

}

?>

<?php
}

echo "Anzahl". $Anzahl;
if($Anfangsposition > 0) {
echo "<a href=\"anzeigen_foto.php?Anfangsposition=0&jahr=$jahr&monat=$monat&tag=$tag&location=$location\">&nbsp;[erste Seite]&nbsp;</a>";

$back=$Anfangsposition-$Zeilen_pro_Seite;
if($back < 0) {
$back = 0;
}
echo "<a href=\"anzeigen_foto.php?Anfangsposition=$back&jahr=$jahr&monat=$monat&tag=$tag&location=$location\">&nbsp;[eine Seite zur&uuml;ck]&nbsp;</a>";

}


if($Anzahl>$Zeilen_pro_Seite) {
$Seiten=intval($Anzahl/$Zeilen_pro_Seite);
if($Anzahl%$Zeilen_pro_Seite) {
$Seiten++;
}
}



for ($i=1;$i<=$Seiten;$i++) {
$fwd=($i-1)*$Zeilen_pro_Seite;
echo "<a href=\"anzeigen_foto.php?Anfangsposition=$fwd&jahr=$jahr&monat=$monat&tag=$tag&location=$location\">&nbsp;$i&nbsp;</a>";
}

if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
$fwd=$Anfangsposition+$Zeilen_pro_Seite;
echo "<a href=\"anzeigen_foto.php?Anfangsposition=$fwd&jahr=$jahr&monat=$monat&tag=$tag&location=$location\">&nbsp;[eine Seite weiter]&nbsp;</a>";
$fwd=$Anzahl-$Zeilen_pro_Seite;
echo "<a href=\"anzeigen_foto.php?Anfangsposition=$fwd&jahr=$jahr&monat=$monat&tag=$tag&location=$location\">&nbsp;[letzte Seite]&nbsp;</a>";
}

?>
</p>
</body>
</html>
X

Fotoalbum blättern

Pozor
Beiträge gesamt: 892

21. Jun 2005, 17:39
Beitrag # 2 von 7
Beitrag ID: #173602
Bewertung:
(6025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sali,

das Thema haben wir mit dir glaubs schonmal besprochen:
$_POST $_GET etc benutzen


Gruss Stefan


"KISS - KEEP IT SIMPLE, STUPID"
PHP Documentation Download


als Antwort auf: [#173579]
(Dieser Beitrag wurde von Pozor am 21. Jun 2005, 17:39 geändert)

Fotoalbum blättern

Intermedia
Beiträge gesamt: 1287

21. Jun 2005, 19:06
Beitrag # 3 von 7
Beitrag ID: #173612
Bewertung:
(6013 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

was Stefan sagt sollte doch mal beachtet werden!
Selbst wenn die register_globals = on sind, sollte man sich daran gewöhnen.

So ich hab mir den Code einmal angesehen, auf den ersten Blick kann ich keinen Fehler feststellen. Die Routine für die Seitenanzahl zum direkten anspringen scheint ok zu sein. Was für Zahlen stehen denn in der Statuszeile wenn du mit der Maus drüber fährst?
Da würde ich als erstes mal nachsehen.

Mit deinen Querys ist es etwas chaotisch und schwierig durchzusteigen.
Für die Fehlersuche lass dir doch die Querys mal auf dem Bildschirm ausgeben, dann kann man sehen was dabei rauskommt und es wird auch ersichtlich wenn eine Variable fehlt.

Das mit deinen Bedingungen um die richtige Query anzuspringen könnte so zwar funktionieren, aber hast du mal drüber nachgedacht eine Query zusammenzusetzen entsprechend der Variablen die du zur Verfügung hast? Könnte Übersichtlicher werden.
Von der Sache her ist es nichts anderes als Strings zusammenzusetzen.

Etwa so:

if ($var1 != "") $query .= "nächste Query ";
if ($var2 != "") $query .= "wieder eine Query";

usw.

Nun frag ich mal ketzerisch, du hattest nachgefrag wie man die Tabellen aufbaut, da wurden die Tabelle von 3 auf 2 reduziert und nun kommst dann hier mit einer Tabelle an.
Warum steckst du die Location nicht in eine separate Tabelle wie es schonmal vorgeschlagen wurde?


Um Fehler zu suchen lass dir an den entsprechenden Stellen die Werte der Variablen ausgeben.

Leider kann ich im Moment nicht mehr für dich tun.

Dir wurden schon sehr viele Tipps gegeben, wenn du hier noch
länger geholfen werden soll, dann fang auch bitte einmal an die Tipps zu berücksichtigen.
Es macht keinem Spaß alles mehrmals durchzukauen nur weil das Prinzip das gleiche ist und es nur etwas anders aussieht.

Nimm es nicht persönlich, wenn dir keiner helfen wollte, würde es auch keiner machen.


Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#173579]

Fotoalbum blättern

HackTack30
Beiträge gesamt: 17

22. Jun 2005, 15:43
Beitrag # 4 von 7
Beitrag ID: #173848
Bewertung:
(6001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi !

Die Variablen werden richtig übergeben, jedoch bei dem zweiten Aufruf, Seitenzahl oder vor, zurück sind die Variablen leer !


als Antwort auf: [#173612]

Fotoalbum blättern

Intermedia
Beiträge gesamt: 1287

22. Jun 2005, 16:17
Beitrag # 5 von 7
Beitrag ID: #173862
Bewertung:
(5997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ja was nun? Wenn die Variablen richtig übergeben werden dann müssen diese auch da sein ansonsten werden sie nicht übergeben bzw. falsch weiterverarbeitet.

Im Falle das diese wirklich nicht übergeben werden, dann mach doch mal das was dir schon öfters gesagt wurde, verwende $_POST und $_GET um mit Variablen zu arbeiten!

Hier mal etwas zum testen damit man mal sieh welche Variablen mit den entsprechenden Werten zur Verfügung stehen, bau das am Anfang deine Seite ein, mir hilft es in der Entwicklungsphase ungemein, gerade bei der Fehlersuche.

foreach ($_REQUEST as $key=>$value)
{
echo "$key=$value<br>";

}

Was steht denn dann in deiner Query wenn du die Seite blätterst?
Daran kann man auch sehen welche Variablen nicht da sind.

Wenn du wieder ein Problem hast das Variablen nicht übergeben werden und du Quellcode ohne $_GET und $_POST arbeitest wirst du hier vermutlich keine Antwort mehr bekommen.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#173848]

Fotoalbum blättern

Pozor
Beiträge gesamt: 892

22. Jun 2005, 18:48
Beitrag # 6 von 7
Beitrag ID: #173884
Bewertung:
(5988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich empfehle immer
print_r($_POST);
print_r($_GET);

so hat man ein überblick was alles zur verfügung steht, auch wens
arrays sind etc.


Gruss Stefan


"KISS - KEEP IT SIMPLE, STUPID"
PHP Documentation Download


als Antwort auf: [#173862]

Fotoalbum blättern

Intermedia
Beiträge gesamt: 1287

22. Jun 2005, 19:10
Beitrag # 7 von 7
Beitrag ID: #173887
Bewertung:
(5987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Hallo,

ich empfehle immer
print_r($_POST);
print_r($_GET);

so hat man ein überblick was alles zur verfügung steht, auch wens
arrays sind etc.


Oder so...... ;-)

Da hat so jeder sein eigenes System.
So nach dem Motto: der Weg ist egal, das Ergebins zählt. ;-)

Aber mir fällt noch was auf:
if (mysql_num_rows($result1) == "")

Nun bin ich mir auch nicht ganz sicher, aber wenn beim ausführen einer Query kein DS gefunden wird, dürft mysql_num_rows($result1) ne 0 sein, oder irre ich mich?

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#173884]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/