Problem mit Fehler undefined offset 2 ... in Line 60

RageNo1

Erfahrenes Mitglied
Hallo Leute,
ich passe gerade ein Script eines Freundes an und bekomme immer folgende Meldung:
undefined offset 2 in /.../ in Line 60

Folgende Zeile ist gemeint:
PHP:
$next = $ids[2];

Ich komme hier gerade nicht weiter und hoffe dass jemand von Euch mir weiterhelfen kann. Hier der ganze Scriptabschnitt um den es geht.

PHP:
		$time = time();

		$sql = 'SELECT count(id) anz FROM bilder WHERE link = "" AND date <= "'.$time.'" AND id <= ' . (int)$_GET['id'];
		$res = mysql_query($sql) or die(mysql_error());
		$row = mysql_fetch_assoc($res);
		$anz = $row['anz'];

		if($anz == 1) {
		    $start = $anz;
		}
		else {
		    $start = $anz-2;
		}

		$sql = 'SELECT id FROM bilder WHERE link = "" AND date <= "'.$time.'" ORDER BY id ASC LIMIT ' . $start . ', 3';

		$res = mysql_query($sql) or die(mysql_error());
		$ids = array();
		while($row = mysql_fetch_assoc($res))
		    $ids[] = $row['id'];

		if($start == ($anz-2))
		{
		    $prev = $ids[0];
		    $next = $ids[2];
		}
		else
		{
		    $prev = false;
		    $next = $ids[0];
		}


		if($next == false)
		{
		    $sql = 'SELECT min(id) first FROM bilder WHERE link = "" AND date <= "'.$time.'"';
		    $res = mysql_query($sql) or die(mysql_error());
		    $row = mysql_fetch_assoc($res);
		    $next = $row['first'];
		}
		if($prev == false)
		{
		    $sql = 'SELECT max(id) last FROM bilder WHERE link = "" AND date <= "'.$time.'"';
		    $res = mysql_query($sql) or die(mysql_error());
		    $row = mysql_fetch_assoc($res);
		    $prev = $row['last'];
		}
}


			if($array['titel'] == '') {
			$title = 'Bild Nummer ' . $array['id'] . ' | ';
			} else {
			$title = $array['titel'] . ' | ';
			}
		}
		}

Gruß Ragey
 
dein array $ids hat in dem Moment keine 3 Einträge (also keiner mit dem Index 2). Das kannst du mit einem Count() abfangen
PHP:
$next = (count($ids)>=2) ? $ids[2] : NULL;
 
Zurück