brauche Webseite ideal für Vereine und Firmen
- Ad -
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! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-08-2005, 12:47
kmergen
 Newbie
Links : Onlinestatus : kmergen ist offline
Registriert seit: Sep 2004
Beiträge: 20
kmergen ist zur Zeit noch ein unbeschriebenes Blatt
Standard Array erstellen

Hallo,

ich möchte Daten aus eine MySQL Tabelle in ein Array einlesen.
Die Daten kommen aus 5 verschiedenen Felder der Tabelle.
Es sollen aber nur die Felder eingelesen werden die auch einen Wert enthalten.

Wie muss ich den folgenden Code erweitern oder kann mann direkt in der SQL-Anweisung nur die mit Werten gefüllten Felder auslesen.

Hier der Code
PHP-Code:
mysql_select_db($db,$conn);
$sql="SELECT fzid, foto1, foto2, foto3, foto4, foto5 FROM tblfz";
$erg=mysql_query($sql,$conn);
$row=mysql_fetch_array($erg);


//Neuer Teil
$fotodaten=array($row[foto1], $row[foto2], $row[foto3], $row[foto4], 
Gruss Klaus
Mit Zitat antworten
  #2 (permalink)  
Alt 09-08-2005, 13:01
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.090
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sind das NULL werte?

WHERE field IS NOT NULL oder halt auf einen leeren wert prüfen ...

btw.: das ist doch schon nen array wieso machst du das nochmal?

und: strings sind mit ' ' einzuschließen!
Mit Zitat antworten
  #3 (permalink)  
Alt 09-08-2005, 13:17
kmergen
 Newbie
Links : Onlinestatus : kmergen ist offline
Registriert seit: Sep 2004
Beiträge: 20
kmergen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

danke für die schnelle Antwort.

Ja es sind Nullwerte.

Das Problem ist nur wie die Abfrage dann aussehen kann.

Es kann z.B. sein das foto1 einen Wert hat, fot2 Null ist und foto5 wieder einen Wert hat.

Deswegen wollte ich die Daten die einen Wert haben in ein neues Array einlesen.

Ist klar, wenn es direkt mit ser sql geht ist das nicht notwendig.

Gruss Klaus
Mit Zitat antworten
  #4 (permalink)  
Alt 09-08-2005, 17:58
kmergen
 Newbie
Links : Onlinestatus : kmergen ist offline
Registriert seit: Sep 2004
Beiträge: 20
kmergen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

ich habe es jetzt folgendermassen versucht:

PHP-Code:
//Fotos in Array einlesen
mysql_select_db($db,$conn);
$sql="SELECT foto1, foto2, foto3, foto4, foto5 FROM tblfz";
$erg=mysql_query($sql,$conn);
$verz=opendir ('../img/fz/gross/');
$row mysql_fetch_assoc($erg);
$zaehler=0;
while (
$file readdir ($verz)) { 
 if (
in_array($file,$row) != true){ 
print_r ($file);
//unlink($file);
$zaehler=$zaehler+1;
echo 
"<br>";
}
}
echo 
"Es wurden insgesamt " "$zaehler" " Dateien gelöscht"
closedir($verz); 
mysql_free_result($erg
Das funktioniert aber nicht
Er gibt mir dann alle Dateien die in $verz vorhanden sind aus.

Woran liegt das?

Gruss Klaus
Mit Zitat antworten
  #5 (permalink)  
Alt 09-08-2005, 20:44
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.829
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Shurakai hat dich schonmal gefragt warum du ein bestehendes Array in ein neues einliest.

Wenn "WHERE field IS NOT NULL" ein Array liefert sind da keine leeren Felder mehr drin. Du kannst also dein Ergebnis mit z.B
PHP-Code:
while ($i=0;$i<count($erg);$i++) 
{
 
usw...

auslesen.

Versteh ich irgendetwas anders als andere?
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #6 (permalink)  
Alt 09-08-2005, 21:13
kmergen
 Newbie
Links : Onlinestatus : kmergen ist offline
Registriert seit: Sep 2004
Beiträge: 20
kmergen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

danke für deine Antwort.

Ich habe jetzt erstmal "WHERE field IS NOT NULL" in den SQL-String eingebaut aber er funktioniert nicht. Was bedeutet denn "field".

Ich frage ja dann über die while-Schleife ob die Datei im Array $row enthalten ist.

Irgendwie passt das aber noch nicht so recht.


Gruss Klaus
Mit Zitat antworten
  #7 (permalink)  
Alt 09-08-2005, 22:08
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von hhcm
PHP-Code:
while ($i=0;$i<count($erg);$i++) 
{
 
usw...

Er wollte for schreiben.

Probiere es mal hiermit:
PHP-Code:
mysql_select_db($db$conn);
$sql 'SELECT foto1, foto2, foto3, foto4, foto5 FROM tblfz';
$erg mysql_query($sql$conn);
$pfad '../img/fz/gross/';
$zaehler 0;
while (
$row mysql_fetch_row($erg)) {
  foreach (
$row as $fotox) {
    if (
is_file($pfad.$fotox)) {
      echo 
$pfad.$fotox.' wäre gelöscht<br />';
      
// unlink($pfad.$fotox);
      
$zaehler++;
    }
  }
}
echo 
"Es wurden insgesamt $zaehler Dateien gelöscht"
Mit Zitat antworten
  #8 (permalink)  
Alt 09-08-2005, 22:26
kmergen
 Newbie
Links : Onlinestatus : kmergen ist offline
Registriert seit: Sep 2004
Beiträge: 20
kmergen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

vielen Dank für deine schnelle Antwort.

Wenn ich das jetzt so mache werden 1352 Dateien gelöscht.
Es dürften aber nur etwa 350 sein.

Das ist etwa die Anzahl an nicht mehr benötigten Dateien im Verzeichnis "img/fz/gross/".
bzw. die Dateinamen die nicht mehr in der Datenbank enthalten sind.

Meine Frage ist jetzt, ob im Array nach nicht mehr vorhandenen Dateinamen gesucht wird.
Dafür hatte ich es mit "in_array" versucht und mit "mysql_fetch_assoc"

Kannst du mir wieiterhelfen.

Gruss Klaus

Geändert von kmergen (09-08-2005 um 22:44 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 10-08-2005, 07:03
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.829
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Zitat:
Original geschrieben von onemorenerd
Er wollte for schreiben.
OffTopic:

ARG Ja wollte er....

__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #10 (permalink)  
Alt 10-08-2005, 09:00
kmergen
 Newbie
Links : Onlinestatus : kmergen ist offline
Registriert seit: Sep 2004
Beiträge: 20
kmergen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

verstehe die Antwort mit "for" schreiben nicht.

Die Lösung mit der foreach-Schleife ist ja gut, aber das Script würde ja dann alle Dateien löschen die in der Tabelle einen entsprechenden Eintrag haben.

Es sollen aber nur diejenigen Dateien gelöscht werden, die keinen Eintrag mehr in der Tabelle haben.

Also wenn im Verzeichnis eine Datei "1345.jpg" ist und in der Tabelle nicht mehr, dann soll diese Datei gelöscht werden.

Wie man das Script nicht dementsprechend umschreiben.


Gruss Klaus
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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:06 Uhr.