Hi alle,
in meinem Script gibt es irgendein problem, aber ich weis absolut nicht welches:
PHP Teil:
<?
error_reporting("E_ALL");
include("admin/config.php");
$gnr = (!empty($_GET["gnr"]) AND isset($_GET["gnr"])) ? $_GET["gnr"] : die("Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut.1") ;
$sql = "SELECT `akt`, `name` FROM `KTF_gallerie_gnr` WHERE `gnr` LIKE '".$gnr."'";
$query = mysql_query($sql);
$menge = mysql_num_rows($query);
if ($menge == 1)
{
while ($row = mysql_fetch_object($query))
{
if ($row->akt != "1") die("Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut.2");
$title = $row->name;
}
}
else
die("Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut.3");
echo mysql_error();
$sql = "SELECT `dat_name` FROM `KTF_gallerie` WHERE `akt` LIKE '1' AND `gnr` LIKE '".$gnr."' ORDER BY `id`";
$query = mysql_query($sql);
$bilder = "";$i = 1;
$menge = mysql_num_rows($query);
echo "Menge: ".$menge."
";//Fehlerquelle 1
while ($row = mysql_fetch_object($query));
{
echo $row->dat_name.$i."
";// Fehlerquelle 2
$bilder .= ($menge >= $i) ? "\"".$row->dat_name."\", " : "\"".$row->dat_name."\"";
$i++;
}
echo mysql_error();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><? echo $title; ?></title>
<script type="text/javascript">
//<![CDATA[
var i = 0;
var bilder = [<? echo $bilder; /* Fehlerquelle 3*/ ?>];
[.....]
Alles anzeigen
Ich habe 3 Kommentare in den code eingefügt, Fehlerquelle1 /2 /3.
Hier das Ergebnis auf dem Server: http://topfkuchration.de/galerie-j.php?gnr=22102007
Fehlerquelle 1: Die Anzahl der Menge stimmt mit der Datenbank überein. Tatsächlich 20 Einträge (bei gnr=22102007)
Fehlerquelle 2: Es gibt keine Ausgabe, doch die spalte dat_name in der Tabelle KTF_gallerie existiert(Tabellen, auf die zugegriffen werden):
CREATE TABLE `ktf_gallerie` (
`id` varchar(10) collate latin1_general_ci NOT NULL,
`gnr` varchar(255) collate latin1_general_ci NOT NULL,
`dat_name` varchar(255) collate latin1_general_ci NOT NULL,
`upload_ip` varchar(15) collate latin1_general_ci NOT NULL,
`upload_time` int(10) NOT NULL,
`akt` int(1) NOT NULL,
`beschreibung` text collate latin1_general_ci NOT NULL,
`thumbnail` varchar(255) collate latin1_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE `ktf_gallerie_gnr` (
`id` int(10) NOT NULL auto_increment,
`gnr` varchar(255) collate latin1_general_ci NOT NULL,
`name` varchar(255) collate latin1_general_ci NOT NULL,
`beschreibung` text collate latin1_general_ci NOT NULL,
`akt` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ;
Alles anzeigen
Fehlerquelle 3: Selbe wie bei Fehlerquelle 2, doch da dat_name nicht ausgegeben wird (warum auch immer) ist die variable $bilder nur mit einem >>"", << gefüllt. Es existieren aber 20 Einträge, somit normal auch 20 mal mindestens >>"", <<
Wenn irgendeiner eine Idee hat meldet sich bitte
Gruß Heinrich