php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-01-2008, 15:12
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Werte aus zwei Arrays zu einem Query zusammenfügen

Hallo,

ich habe mal wieder ein kleines Problem, von dem ich nicht weiß wie ich es lösen soll. Das Skript ermittelt die Dateinamen aus einem Verzeichnis und speichert die in einem Array. Danach wird eine Ebene tiefer noch der inhalt dieses Verzeichnisses gelesen und in einem weiteren Array abgelegt.


PHP-Code:
$bilder "images/fotoalbum/johanna/";
$sub "thumbs/";
$dhbilder  opendir($bilder);
while (
false !== ($filenamebilder readdir($dhbilder))) 
{
 if (
$filenamebilder != "." && $filenamebilder != ".." && $filenamebilder != "thumbs")
 {
  
$filesbilder[] = $filenamebilder;
 }
}

$thumbs "images/fotoalbum/johanna/thumbs";
$dhthumbs  opendir($thumbs);
while (
false !== ($filenamethumbs readdir($dhthumbs))) 
{
 if (
$filenamethumbs != "." && $filenamethumbs != "..")
 {
  
$filesthumbs[] = $filenamethumbs;
 }


Wie kriege ich es jetzt am besten hin, das jedes Paar, das Bild und das Thumb im Unterverzeichniss, in einem Datensatz stehen. Mit Dateinamen und Pfadangabe.


Gruß

Michael
Mit Zitat antworten
  #2 (permalink)  
Alt 29-01-2008, 15:20
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tschuldigung, hatte was übersehen, hat sich erledigt.
Mit Zitat antworten
  #3 (permalink)  
Alt 29-01-2008, 15:42
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmmm, ich da doch noch ein Problem. Und zwar die Bilder wieder zur Anzeige zu bringen. Problem ist, das die Seite so aufgebaut ist, das eine Index gibt, in der alles andere includet wird. So auch aller content. somit ist auch der Header gesendet wenn die Bilder aus der DB geholt werden. Mit einem Content-Type="image/jpg" ist also nichts mehr zu machen, er mekert dann auch erwartungsgemäs, das der Header schon gesendet wurde. Gibt es eine andere Möglichkeit, und wenn welche, die Bilder zur Anzeige zu bringen. Die Bilder an sich liegen im Filesystem, in der DB stehen nur die Pfade und Dateinamen drin.


Danke für eure Hilfe !



Gruß

Michael
Mit Zitat antworten
  #4 (permalink)  
Alt 29-01-2008, 15:43
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie wär's dann mit einem Content-type: text/html und die Bilder im img-Tag?
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #5 (permalink)  
Alt 29-01-2008, 15:45
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie versuchst du denn die Bilder anzuzeigen?
__________________
Gruss
H2O
Mit Zitat antworten
  #6 (permalink)  
Alt 29-01-2008, 16:02
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<?php
//Datenbank verbinden
require_once ($root "/functions/db_connection.php");


$query "SELECT * FROM bilder";
$result mysql_query($query);
if (!
$result
     {
      die(
'Ungültige Abfrage: ' mysql_error());
     }
while(
$row mysql_fetch_array($result))
{

 echo 
"<img>" $row['thumbpfad'] . $row['thumb'] . "</img><br>";

}
?>
Dummerweise bekomme ich nur den Pfad angezeigt, aber kein Bild.
Mit Zitat antworten
  #7 (permalink)  
Alt 29-01-2008, 16:05
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
echo "<img>" $row['thumbpfad'] . $row['thumb'] . "</img><br>"
und zwar pronto. Schau dazu bei selfhtml.org vorbei und schau dir an wie man Bilder korrekt anzeigt
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #8 (permalink)  
Alt 29-01-2008, 17:48
IchBinIch
 Registrierter Benutzer
Links : Onlinestatus : IchBinIch ist offline
Registriert seit: Apr 2003
Beiträge: 324
IchBinIch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dass man heutzutage nichtmal mehr HTML ansatzweise beherrschen muss, bevor man "große Sachen" programmieren will... *tztztz*
__________________
ICH BIN ICH!!!
Mit Zitat antworten
  #9 (permalink)  
Alt 29-01-2008, 18:52
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okok, das war wohl ein Anflug von geistiger Umnachtung was ich da eingegeben habe.

@ichbinich, nach schön für dich, das du es so drauf hast.
Mit Zitat antworten
  #10 (permalink)  
Alt 29-01-2008, 19:12
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

hehe, das war aber wirklich so weit ab vom Schuss, dass man ernsthaft überlegen muss ob du jemals ein Bild eingebunden hast.

Und falls du es tatsächlich schon mal geschafft hast, warum hast du dann nicht mal zum Vergleich eine funktionierende Version heran gezogen?

*scnr*
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 29-01-2008, 19:40
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Weil ich dann öfters mal den Wald vor lauter Bäumen nicht sehe. Bin noch am lernen und vor lauter Gedanken machen und tun gehen mir halt mal die einfachen Sachen durch die Lappen.

PHP-Code:
echo "<img src='" $row['thumbpfad'] . "/" $row['thumb'] . "' alt='Bilder Johanna'>"
So funktioniert dann auch die Ausgabe der Bilder. Das Ganze jetzt noch in eine vierspaltige Tabellenform und dann passt das auch vom Aussehen.
Mit Zitat antworten
  #12 (permalink)  
Alt 29-01-2008, 19:41
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OffTopic:

Würde eigentlich ein Textbrowser wie z.B. Lynx den Pfad innerhalb der Tags als Text anzeigen
Falls ja dann könnte man das als noimg-Tag in HTML aufnehmen und bräuchte auch kein alt-Attribut mehr


Back topic:
Warum speicherst du den Pfad und den Namen als einzelne Spalten in der Datenbank? Speichere einfach nur den ganzen Pfad à la
/path/to/pics/img.jpg (spart ein Feld in der DB Wenn du den Dateinamen brauchst hilft dir z.B. basename()
Ausserdem solltest du bei einem SELECT die Spalten immer explizit angeben

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

Geändert von jahlives (29-01-2008 um 22:57 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 30-01-2008, 08:56
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von jahlives
...bräuchte auch kein alt-Attribut mehr
Da hat aber der W3C-Validator etwas dagegen
Zitat:
Original geschrieben von fritzje610
Das Ganze jetzt noch in eine vierspaltige Tabellenform ...
Das ist ja auch kein Problem:
PHP-Code:
<?php
//Datenbank verbinden
require_once ($root "/functions/db_connection.php");

$mx 4;   // Anzahl pro Zeile
$query "SELECT 
            thumbpfad, 
            thumb 
          FROM 
            bilder"
;
$result mysql_query($query) || die('Ungültige Abfrage: ' mysql_error());
echo 
"<table border='0'>\n<tr>";   
$i 0;   
while (
$row mysql_fetch_assoc($result)){
    
printf("<td><img src='%s/%s' /></td>"$row['thumbpfad'], $row['thumb']);
    
$i ++;
    if (
$i == $mx){
        echo 
"</tr><tr>";
        
$i 0;
    }
}
if (
$i 0){
    for(;
$i $mx;$i ++){
        echo 
"<td>&nbsp;</td>";    // Letzte Zeile füllen (geht auch ohne, ist aber sauberer)
    
}
}
echo 
"</tr>\n</table>\n";
?>
__________________
Gruss
H2O
Mit Zitat antworten
  #14 (permalink)  
Alt 30-01-2008, 09:12
fritzje610
 Registrierter Benutzer
Links : Onlinestatus : fritzje610 ist offline
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 318
fritzje610 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

vielen Dank für dein Script. Ich hatte mir zwar gestern noch was zusammengebastelt, was auch funktioniert hat, aber das hier ist doch schicker.
Eine Kategorienübersicht mit einer Unterkategorienebene muss ich mir noch basteln, wobei ich da schon mal bisschen gesucht hab eund auch sowas wie einen Ansatz habe.
Akut habe ich eher das Problem, wie ich beim Klick auf eines der Thumbs ein popup mache, in dem das Bild
a) in voller Größe dargestellt wird und
b) ich innerhalb dieses popups vor und zurückblättern kann und jeweils das passende Bild angezeigt wird.
Zumindest ist jedes Thumb ein Link, so das beim Klick darauf die Vollansicht angezeigt wird. Allerdings innerhalb der selben Seite, was die Darastellung von allem unschön macht. Deshalb die Vollansicht in ein popup zum durchblättern.
Ich hatte auch gestern mal was zu popups gefunden, allerdings mir den Thread nicht gebookmarkt. Seltsamerweise darf ich auch im moment hier im Forum nicht suchen. Warum auch immer ???

Wie löse ich das denn jetzt am elegantesten?

Gruß

Michael



Gruß
Mit Zitat antworten
  #15 (permalink)  
Alt 30-01-2008, 09:33
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
a) in voller Größe dargestellt wird und
b) ich innerhalb dieses popups vor und zurückblättern kann und jeweils das passende Bild angezeigt wird.
a) Eine eigene Fkt anlegen, die via window.open() ein PopUp öffnet. Dabei muss JS natürlich wissen welches Bild ins PopUp geladen werden soll (kannst du über einen Parameter der Fkt steuern). Dann lädt das JS im PopUp via AJAX die Bildressource und baut sie in den PopUp Code ein.
Wobei sich die Frage stellt ob du wirklich ein PopUp willst oder nicht lieber eine neue Seite, die das Bild in voller Grösse darstellt (hätte den Vorteil, dass es auch ohne JS geht). Liesse sich ohne JS auch viel einfacher umsetzen z.B.
Code:
<a href="bild_gross.php?bild=name.jpg">Bild gross anzeigen</a>
b) dies lässt sich mit einer Lösung ohne JS ebenfalls viel einfacher umsetzen. Wenn der User auf den Link klickt, dann weiss PHP anhand des GET Parameters welches Bild angezeigt werden soll. Anhand des Parameters weiss PHP aber auch welches Bild vor resp nach diesem Bild kommt. Dazu gibt PHP einfach zwei Links aus, die als Parameter jeweils den Namen des Vorgängers resp des Nachfolgers haben.

Wenn du wirklich eine JS Lösung willst, dann musst du dir Gedanken über die Benamsung der Bilder machen. Am einfachsten ist in diesem Fall eine Bildname mit einem fixen Teil und einer fortlaufenden Nummer z.B. img_5.jpg Mit der Laufnummer weiss JS welches das nächste und welches das vorherige Bild ist ohne einen Request an den Server abzusetzen.
Ohne JS habe ich das bei meiner Seite mal umgesetzt.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:32 Uhr.