php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.07.2006, 11:27  
Erfahrener Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 175
tekknotrip
Standard Mehrere dateien, kein Treffer aber Alternative anzeigen

Hallo, ich habe folgendes realisiert (Beispiel Automarke.Motortyp):

Ordner mit vielen Bildern der Art: Automarke.Motortyp.Version.jpg
Nun möchte ich die Bilder, sofern diese der Anforderung entsprechen, anzeigen.

User ruft BMW.motortyp.jpg auf, wenn von diesem Motortyp nun mehrere Fotos (Versionen) existieren, bekommt er sie schön per Linkauswahl angezeigt, wenn nicht, bekommt er nur das eine Bild angezeigt.

Nun kann es aber vorkommen, dass es von dieser Automarke diesen Motortyp nicht gibt, aber dafür von einer anderen Automarke. Wie kann ich es realisieren, dass in diesem Falle die Automarke egal ist, dafür aber der Motortyp der anderen Automarke angezeigt wir (nur einmal, nicht die Anzahl der Treffer, die erzielt werden)?

Für einen Hinweis wäre ich dankbar.



PHP-Code:
<?php

$vari 
$_GET['vari'];
$typ $_GET['typ'];

if (!isset(
$vari) || !isset($typ)) {
  echo 
"Parameter fehlen";
}

else {

$image $vari.".".$typ;

function 
readDirectory($pfad)
{
    
$filesArr = array();
    
    if(
$ordner dir($pfad))
    {
        while(
$datei $ordner->read())
        {
        if(
$datei != "." && $datei != ".."array_push($filesArr,$datei);
        }

    }
    return 
$filesArr;
}

$image_inDir readDirectory("/home/........");

if (
in_array($image.".jpg"$image_inDir)) {
    echo 
"<img src=\"/image/".$image.".jpg\">";
}

else { 
?>
   <table border="0">
     <tr>
       <td>
     
<?php
foreach ($image_inDir as $test) {
    
$analog_files preg_match("/".$image.".ver/"$test);
    if (
$analog_files) {
        
$i++;?> 
            <a href="image/<?php echo $test?>" target="image">Bild 
            <?php echo $i?></a> || 
      
<?php
    
}
        
}
?>
       </td>
     </tr>
     <tr>
       <td><iframe name="image" src="/image/<?php echo 
                       
$vari.".".$typ.".version1.jpg"?>" width="805" height="620"
                       frameborder="0"></iframe></td>
     </tr>

    </table>
<?php

}

}

?>
tekknotrip ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.07.2006, 12:04  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 193
akratellio
Standard

tekknotrip,

du must halt beim Suchen nach dem BMW Motor ein
zusätzliches Array mit Motoren gleicher Bauweise initialisieren.
Später kannst du dann Abfragen ob das Array mit den
BMW Motoren leer ist und dann das andere Array ausgeben.

mfg

akratellio
__________________
"Ich lüge immer..."
http://www.akratellio.de/dai
akratellio ist offline  
Alt 04.07.2006, 12:12  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Servus ..

Also so wie ich das sehe list du zunächst ALLE Bilde rin ein Array und prüfst dann ob es $image drin hat.

Du kannst doch einfach deinen Regulären Ausdruck abändern oder ??
M3g4Star ist offline  
Alt 04.07.2006, 13:34  
Erfahrener Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 175
tekknotrip
Standard

Zitat:
Servus ..

Also so wie ich das sehe list du zunächst ALLE Bilde rin ein Array und prüfst dann ob es $image drin hat.

Du kannst doch einfach deinen Regulären Ausdruck abändern oder ??
Ja, im Prinzip hatte ich das auch schon, nur zu einem Typ anderer Hersteller gibt es viele Treffer. Ich will ja nur einen.

Mit break; stoppen...ist das Sinnvoll?
tekknotrip ist offline  
Alt 04.07.2006, 14:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wenn die Trefferanzahl für dieses Auto in Kombination mit diesem Motor 0 ist, musst du eben entweder
- alle Autos des angeforderten Typs mit anderen Motoren oder
- alle Motoren des angeforderten Typs mit anderen Autos
auflisten.

PHP-Code:
<?php
$photos 
glob("Automarke.Motortyp.jpg");
if (
count($photos) == 0)
  
$photos array_merge(glob("Automarke.*.jpg"), glob("*.Motortyp.jpg"));
for (
$i 0$max count($photos); $i $max$i++)
  print 
"$photos[$i]\n
\n"
;
?>
Hoffe ich habe dich richtig verstanden.
Je mehr Fotos und Kombinationen du hast, desto eher solltest du über eine normalisierte Datenbanklösung nachdenken. Aber für den Anfang reicht auch die Bilderbenennung.

Gruß, c
Zergling-new ist offline  
Alt 04.07.2006, 15:47  
Erfahrener Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 175
tekknotrip
Standard

Hallo Zergling,
ja, hast recht, ich verbiege mich hier in der Tat zu heftig. Ich lese lieber das Verzeichnis einmal pro Tag aus und haue das Array in eine DB. Dann kann ich leichter selektieren und auswählen und das Verzeichnis wird nicht so attackiert

Ich poste das Ergebnis nacher mal
tekknotrip ist offline  
Alt 04.07.2006, 16:07  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hm einmal täglich auslesen halte ich auch nicht für die optimale Lösung.

Mach dir doch eine Admin-Oberfläche über die du Bilder hochladen kannst und ihnen Auto- und Motorentyp zuordnen kannst.

Die Suche in der DB nach Auto- und/oder Motorentyp dürfte dann kein Problem mehr sein.
Zergling-new ist offline  
Alt 04.07.2006, 16:11  
Erfahrener Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 175
tekknotrip
Standard

Ja, das wäre aber für diese Anwendung zu aufwendig, da nur so alle 2-5 Tage n neues Bild kommt. Das wird unverändert in das Verzeichnis geschoben und dann halt jeden Tag mal aktualisiert. So brennend ist das nicht

Aber ne elegante Lösung auch nicht
tekknotrip ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Stichwortsuche -> Ähnliche Treffer anzeigen, aber wie? PsychoEagle Off-Topic Diskussionen 5 18.07.2007 02:37
bestimmte dateien nicht anzeigen PHP Tipps 2005-2 3 20.10.2005 19:17
[Erledigt] Per PHP alle Dateien im FTP Ordner anzeigen. PHP Tipps 2005-2 7 01.10.2005 10:46
Ergebnis einer DBabfrage in HTML Dateien Suchen u. anzeigen PHP Tipps 2005-2 0 15.08.2005 22:35
Alte Dateien verschieben und neuste anzeigen PHP Tipps 2005-2 5 02.08.2005 12:04
Dateien ohne vorherigen Pfad mit ftp_nlist anzeigen Plague PHP Tipps 2005 6 20.05.2005 23:13
[Erledigt] Aus einem Ordner alle Dateien anzeigen PHP Tipps 2005 3 28.04.2005 17:11
[Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE PHP Tipps 2005 4 02.04.2005 22:38
Alternative zu fopen bei ext. Dateien PHP-Fortgeschrittene 9 23.12.2004 13:05
PHP Dateien anzeigen Server, Hosting und Workstations 4 24.11.2004 15:59
ANzeigen von Dateien oder Inhalten flual2000 PHP Tipps 2004-2 1 08.11.2004 12:31
Ordner und Dateien des Webspaces anzeigen lassen PHP Tipps 2004 1 05.11.2004 08:26
Alle Dateien im Ordner anzeigen Sirke PHP Tipps 2004 10 14.09.2004 17:36
ordner und dateien mit php anzeigen...wie? phpfortgeschrittener PHP Tipps 2004 5 04.08.2004 22:13
Xampp, eigene Dateien anzeigen... Server, Hosting und Workstations 4 19.06.2004 23:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
image nicht anzeigen aber alternate

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.