SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Thema geschlossen
 
Themen-Optionen Ansicht
  #1  
Alt 01.05.2017, 17:11:57
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 29
Beiträge: 13
Datenbankeinträge mit hochgeladenen Dateien vergleichen

Hallo,

kurz zu dem was ich vorhabe :) Lädt ein User ein Foto hoch so wird dieses Bild in einem Ordner abgespeichert und der Dateipfad in der Datenbank. Das funktioniert soweit auch wunderbar.

Nun hat jeder User ein Profilbild und bei jedem hochgeladenem Bild, soll zusätzlich auch noch das Profilbild zu sehen sein (einfach in klein irgendwo dadrüber).

Genau hier liegt das Problem. Ich weiß nicht wie ich da heran gehen soll an die Sache, doch hier erstmal mein Code:

PHP-Code:
<?php
$array 
= array();
foreach(
glob('upload/bild_user'.$userid.'{*Lifestyle}'.'{*.jpg,*.jpeg,*.png,*.gif}'GLOB_BRACE) as $image
    
$array[$image] = filemtime($image);
    
arsort($array); // neueste Datei nach oben

$test "http://192.168.178.61/PHPversion/$pfad"// mal gucken 
    
foreach ($array as $key => $value
   echo 
"<div style='width: 50%; min-width: 100px; max-width: 300px; border-radius: 5px; border-style: double; border-color: gray; border-width: 1px; margin-left: 20px; margin-top: 25px; height: 360px; margin-bottom: 25px; box-shadow: 0px 8px 20px 0px gray; margin-right: 20px; display: inline-block'>
    
<img class='bild' src='"
.$test."' alt='Bild' style='width: 2%; min-width: 20px; max-width: 20px; border-radius: 20px; border-style: double; border-color: gray; border-width: 1px; margin-left: 10px; height: 20px; float: left; margin-top: 2px; margin-bottom: 2px; cursor: pointer'><p style='color: black; float: left; margin-left: 5px'>$user_id</p>
    
   <img src='$key' style='width: 100%; min-width: 100px; max-width: 300px; border-top: solid 1px gray; border-bottom: solid 1px gray; height: 300px; cursor: pointer; margin-right: 20px;' ><i class='fa fa-comment-o' aria-hidden='true' style='color: black; float: right; margin-right: 10px; cursor: pointer'></i></div>"


?>
Das ist der Code mit dem die hochgeladenen Bilder ausgelesen werden. Eine kurze Erklärung zu den Variablen:

$test = die Variable die den kompletten Dateipfad des Profilbildes beinhaltet. In ihr ist zudem die Variable $pfad zu finden, die den abgespeicherten Pfad in der Datenbank beinhaltet.

$user_id = ist die individuelle id eines Users die ebenfalls beim auslesen der Bilder mit angezeigt werden soll.


Nun ist es so das dass Profilbild sich in einer Tabelle befindet in der ebenfalls jegliche andere Informationen zu dem jeweiligen User stehen wie bspw. Vorname, Nachname usw.
Die hochgeladenen Bilder hingegen werden in einer anderen Tabelle abgespeichert in der ebenfalls die User_id zu finden ist.

Das Problem das ich nun habe ist das ich keine Ahnung davon habe, wie ich nun diese"Brücke" zwischen den Tabellen schaffe. Das einzige was in beiden meiner Tabellen identisch ist, ist der Eintrag zur User-ID. Doch wie gesagt weiß ich nicht wie ich da den vergleich ziehen soll um am Ende passend zu jedem Bild, ein Profilbild anzeigen zu lassen.

Würde mich freuen wenn jemand von euch eine Idee hat :)
  #2  
Alt 01.05.2017, 20:02:20
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Wo kommt $pfad her?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
  #3  
Alt 02.05.2017, 23:05:18
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 29
Beiträge: 13
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Zitat:
Zitat von vt1816 Beitrag anzeigen
Wo kommt $pfad her?
Ach ja vergessen, sorry :) In meiner Tabelle in der Datenbank (in die der Pfad der Profilbilder abgespeichert wird) gibt es eine Spalte namens "pfad".

Die Einträge dieser Spalte sollen später einmal in der Variable $pfad abgespeichert werden.

Ich weiß das dass ganze aktuell noch keinen Sinn macht weil die Variable nicht definiert ist.

Das liegt vor allem an dem Problem das ich halt nicht weiß wie ich diese Variable so definiere so das sie mir immer den Dateipfad des Profilbilds anzeigt, der auch zu dem hochgeladenem Bild passt.
  #4  
Alt 03.05.2017, 08:22:44
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Wie wäre es dann mal mit einem:
PHP-Code:
"SELECT pfad FROM tabelle WHERE userID = $userid;" 
und der entsprechenden Auswertung des Ergebnis der Abfrage?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
  #5  
Alt 06.05.2017, 16:08:57
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 29
Beiträge: 13
Zitat:
Zitat von vt1816 Beitrag anzeigen
Wie wäre es dann mal mit einem:
PHP-Code:
"SELECT pfad FROM tabelle WHERE userID = $userid;" 
und der entsprechenden Auswertung des Ergebnis der Abfrage?
Hey tut mir leid das ich erst jetzt schreibe. War ne stressige Woche :)

Also ja ich denke das dass auf jeden Fall der richtige Ansatz ist. Ich hab mir aber im laufe der Woche weiterhin Gedanken gemacht zu dem Code den du geschrieben hast.

Dieser Code
PHP-Code:
"SELECT pfad FROM tabelle WHERE userID = $userid;" 
funktioniert ja rein theoretisch nur dann wenn ich auch weiß welches hochgeladene Bild, zu welcher user-id gehört.

Jedes Bild das von allen Usern hochgeladen wird, wird in einem Ordner abgespeichert. Zusätzlich wird der Pfad des Bildes und die id des Users der das Bild hochgeladen hat, in einer Datenbanktabelle abgespeichert. Dieser Ordner wird dann in meinem Code ausgelesen. Jedes der enthaltenen Bilder wird in einem Array abgespeichert und dann mit der Variable $key ausgegeben ( da $key den Pfad der einzelnen Bilder enthält ).

Das bedeutet also das ich erstmal herausfinden muss welches Bild/$key zu welcher user-id gehört.

Ich hoffe man kann mir folgen ...


Ich habe also einen Code geschrieben der dazu dienen soll, herauszufinden welche Bild zu welcher User-id passt.
Wie ich oben schon einmal geschrieben habe, habe ich in meiner Datenbank zwei Tabellen:
Tabelle 1: beinhaltet alle Informationen eines Users die bei der Registrierung angegeben wurden UND das Profilbild
Tabelle 2: beinhaltet alle Pfade der hochgeladenen Bilder, sowie die User-IDs der User die ein Bild hochgeladen haben

In meinem Code beziehe ich mich zunächst auf Tabelle 2:
PHP-Code:
<?php
if(isset($key)) {
    
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU''root''fisch123');
    
$sql "SELECT user_id FROM `bildtabelle` WHERE `path` = '".$key."'";
    
$stmt $pdo -> query($sql);
    
$resultat $stmt -> fetch();
    echo 
"$resultat";
}
?>
Wie schon gesagt funktioniert der Code nicht. Bin mir auch ziemlich sicher das in diesem Code der ein oder andere Fehler steckt da ich das ganze mehr aus dem Bauch heraus geschrieben habe da ich nicht ganz weiß wie ich das sonst umsetzen soll.

Hierbei direkt eine Sache bei der ich mir unsicher bin. In meinem Code frage ich "WHERE 'path' = ".$key." "

$key ist aber eigentlich nur ein Pfad von vielen die im Array abgespeichert werden. Da ich ja bei allen Pfaden überprüfen muss zu welchen User-IDs sie gehören, frage ich mich ob die Zeile nicht eher "WHERE 'path' = ".$array." " lauten müsste.

Naja ich hab viel geschrieben und ich habe viele Fragen. Ich hoffe das mir trotzdem geholfen werden kann :)

Vielleicht noch als Ergänzung...
Wenn das ganze dann funktioniert und ich erstmal weiß welcher Pfad zu welcher user-id gehört dann kann ich die ermittelte user-id dazu nutzen, um sie mit der id aus der anderen Tabelle zu vergleichen und daraus das Profilbild zu generieren.
  #6  
Alt 06.05.2017, 18:11:07
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 29
Beiträge: 13
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

So bin jetzt schon den ganzen Tag am probieren und habe vielleicht einen neuen Ansatz:

PHP-Code:
if(isset($key)) {
    
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU''root''lehar456');
    
$sql "SELECT user_id FROM `bildtabelle` WHERE `path` = '".$key."'";
    
$result mysqli_query($pdo$sql);
    while(
$row mysqli_fetch_object($result))
{
  echo 
$row->user_id;
}
    } 
muss auch zu diesem Code sagen das der nicht funktioniert es kommt immer die Fehlermeldung:
Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in /Library/WebServer/Documents/PHPversion/unbenannt.php on line 272

Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in /Library/WebServer/Documents/PHPversion/unbenannt.php on line 273.

Wie gesagt ist nur ein Ansatz vielleicht kann einer von euch mir sagen womit es schlauer wäre zu arbeiten :)
  #7  
Alt 08.05.2017, 10:45:56
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Du kannst mit den MySQLi-Funktionen auch nicht auf PDO zugreifen, das muss schon einheitlich sein

PHP-Code:
$pdo = ...
$statement $pdo->prepare(...)
$statement->execute(...)
$statement->fetchAll() 
  #8  
Alt 08.05.2017, 20:54:13
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 29
Beiträge: 13
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Zitat:
Zitat von chorn Beitrag anzeigen
Du kannst mit den MySQLi-Funktionen auch nicht auf PDO zugreifen, das muss schon einheitlich sein

PHP-Code:
$pdo = ...
$statement $pdo->prepare(...)
$statement->execute(...)
$statement->fetchAll() 
also ich gehe jetzt mal davon aus das du den Code aus meinem neuen Ansatz meinst ?:)
Okay also ich verstehe was du meinst aber eine Frage hätte ich da: Was bedeutet eigentlich fetchAll() ? Bedeutet das so viel wie "alle Ergebnisse" ?
  #9  
Alt 09.05.2017, 00:37:11
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Zitat:
Zitat von ThisIsBeat Beitrag anzeigen
[..] Was bedeutet eigentlich fetchAll() ? Bedeutet das so viel wie "alle Ergebnisse" ?
Liesst Du hier.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
  #10  
Alt 09.05.2017, 17:33:50
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 29
Beiträge: 13
AW: Datenbankeinträge mit hochgeladenen Dateien vergleichen

Das heißt also das ein Array zurückgegeben wird das alle Ergebnismengen enthält. Wenn ich das ganze nun ausgeben möchte dann würde ein
PHP-Code:
foreach 
wahrscheinlich Sinn machen oder ?

Ich meine letztendlich war das hier ja meine Ausgangslage:

PHP-Code:
<?php 
if(isset($key)) { 
    
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU''root''fisch123'); 
    
$sql "SELECT user_id FROM `bildtabelle` WHERE `path` = '".$key."'"
    
$stmt $pdo -> query($sql); 
    
$resultat $stmt -> fetch(); 

?>
also in etwa sowas hier würde doch für $relutat Sinn machen oder ?
PHP-Code:
foreach ($resultat as $res => $value
Thema geschlossen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 CSV Dateien vergleichen und bei Übereinstimmung zusammenführne und speichern kallmas PHP Grundlagen 1 19.04.2016 17:25:02
FTP .zip dateien sichern emithe12 HTML, CSS und JavaScript Help! 0 05.02.2014 17:03:52
Alle Dateien stupide ausliefern z0iD Apache HTTP-Server 18 11.02.2007 14:08:05
Ordner und Dateien erstellen harry PHP Grundlagen 3 09.03.2006 10:38:18
Multiple Dateien einlesen und ausgeben MTJMohr PHP für Fortgeschrittene und Experten 2 04.04.2002 16:15:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:08:41 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt