Problem mit if(file_exists & schleife

leks2010

Grünschnabel
Hi,

bin am verzweifeln:
Möchte auf einer Ergebnisseite einige Bilder eines Objektes anzeigen.

Leider wird beim ersten Ergebnis alles richtig geladen und bei allen anderen werden die Bilder des vorherigen Ergebnisses mitreingeladen.

Kann mir jemand helfen****?

Hier der Code & das Ergebnis:
if(!$_GET['oid']) $_GET['oid']=''.$object['oid'].'';

$query = 'SELECT BILDNAME as bname, UNTERTITEL as alttext FROM sc_obj_photos WHERE sc_obj_id="'.$object['oid'].'"';
$pictures = $DBA->db_query($query,'ALL');

foreach($pictures as $picture)
{
if(file_exists('sc_obj_img/'.(int)($object['oid']/10000).'/'.($object['oid']%10000).'/TNG_'.$picture['bname']))
//if(file_exists('sc_obj_img/'.(int)($object['oid']/10000).'/'.($object['oid']%10000).'/TNG_'.$picture['bname']) && $object['oid']==$_GET['oid'])
{
$thepictures .= '<span style="font-size: 8px;">sc_obj_img/'.(int)($object['oid']/10000).'/'.($object['oid']%10000).'/TNK_'.$picture['bname'].'<br /></span>';
}
else
{
$thepictures .= '<span style="font-size: 8px;">vorhanden<br /></span>';
}
}
--------------------------------------------------------
Das Ergebis:
Erg1:
sc_obj_img/14/8703/TNK_img1.jpg
sc_obj_img/14/8703/TNK_img2.jpg
sc_obj_img/14/8703/TNK_img3.jpg
sc_obj_img/14/8703/TNK_img4.jpg
sc_obj_img/14/8703/TNK_img5.jpg
sc_obj_img/14/8703/TNK_img6.jpg
sc_obj_img/14/8703/TNK_img7.jpg
sc_obj_img/14/8703/TNK_img8.jpg
sc_obj_img/14/8703/TNK_img9.jpg
sc_obj_img/14/8703/TNK_img10.jpg
sc_obj_img/14/8703/TNK_img11.jpg
sc_obj_img/14/8703/TNK_img12.jpg
sc_obj_img/14/8703/TNK_img13.jpg


Erg 5:
sc_obj_img/14/8703/TNK_img1.jpg
sc_obj_img/14/8703/TNK_img2.jpg
sc_obj_img/14/8703/TNK_img3.jpg
sc_obj_img/14/8703/TNK_img4.jpg
sc_obj_img/14/8703/TNK_img5.jpg
sc_obj_img/14/8703/TNK_img6.jpg
sc_obj_img/14/8703/TNK_img7.jpg
sc_obj_img/14/8703/TNK_img8.jpg
sc_obj_img/14/8703/TNK_img9.jpg
sc_obj_img/14/8703/TNK_img10.jpg
sc_obj_img/14/8703/TNK_img11.jpg
sc_obj_img/14/8703/TNK_img12.jpg
sc_obj_img/14/8703/TNK_img13.jpg
sc_obj_img/14/8327/TNK_img1.jpg
sc_obj_img/14/8327/TNK_img2.jpg
sc_obj_img/14/8327/TNK_img3.jpg
sc_obj_img/14/8327/TNK_img4.jpg
sc_obj_img/0/6887/TNK_img1.jpg
sc_obj_img/0/6887/TNK_img17.jpg
sc_obj_img/0/6887/TNK_img6.jpg
sc_obj_img/0/6887/TNK_img4.jpg
sc_obj_img/0/6887/TNK_img5.jpg
sc_obj_img/0/6887/TNK_img7.jpg
sc_obj_img/0/6887/TNK_img8.jpg
sc_obj_img/0/6887/TNK_img9.jpg
sc_obj_img/0/6887/TNK_img10.jpg
sc_obj_img/0/6887/TNK_img11.jpg
sc_obj_img/0/6887/TNK_img12.jpg
sc_obj_img/0/6887/TNK_img13.jpg
sc_obj_img/0/6887/TNK_img14.jpg
sc_obj_img/0/6887/TNK_img15.jpg
sc_obj_img/0/6887/TNK_img16.jpg
sc_obj_img/6/861/TNK_img17.jpg
sc_obj_img/6/861/TNK_img16.jpg
sc_obj_img/6/861/TNK_img14.jpg
sc_obj_img/6/861/TNK_img13.jpg
sc_obj_img/6/861/TNK_img12.jpg
sc_obj_img/6/861/TNK_img11.jpg
sc_obj_img/6/861/TNK_img18.jpg
sc_obj_img/6/861/TNK_img15.jpg
sc_obj_img/6/861/TNK_img8.jpg
sc_obj_img/6/861/TNK_img9.jpg
sc_obj_img/6/861/TNK_img10.jpg
sc_obj_img/6/861/TNK_img1.jpg
 
Hallo,
PHP:
if( !$_GET['oid'] ) {
    $_GET['oid']=''.$object['oid'].'';
}

$query = 'SELECT BILDNAME as bname, UNTERTITEL as alttext
          FROM sc_obj_photos
          WHERE sc_obj_id="'.$object['oid'].'"';
$pictures = $DBA->db_query($query,'ALL');

foreach($pictures as $picture) {
    if(file_exists('sc_obj_img/'.(int)($object['oid']/10000).
                   '/'.($object['oid']%10000).
                   '/TNG_'.$picture['bname'])) {
        $thepictures .= '<span style="font-size: 8px;">sc_obj_img/'.
                        (int)($object['oid']/10000).
                        '/'.($object['oid']%10000).'/TNK_'.
                        $picture['bname'].'<br /></span>';
    }
    else {
        $thepictures .= '<span style="font-size: 8px;">
                        vorhanden<br /></span>';
    }
}

Mal als Service von mir :). Wie oder wo willst du denn sicherstellen, dass die alten Bilder nicht mit ausgegeben werden? Ich sehe da gar keinen Ansatz.

Gruß, Gardiner
 
Zurück