php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.06.2008, 15:17  
Neuer Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 9
borsty befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Datenbank und Ordner auslesen funzt net

Der code soll eine Datenbank und einen Unterordner von /bilder auslesen
und die Ergebnisse in arrays speichern

der Unterordner entspricht der mysql-Tabelle zuordng



aber irgendwie funzts net so wirklich (keine Fehlermeldung aber irgendwie endlosschleife)

Hier ma der code
wenn wer weis wie ich des auch kürzer machn kann dann bitte auch schreiben

Danke schon ma

PHP-Code:
<html>
<body>

<?
    
include("mysql.inc");
  
$query "SELECT bildpfad, bildart, zuordng FROM bilder ORDER BY zuordng";
  
$sql mysql_query($query);
  
$i 0;
  
$j 0;
  
$bildnamesql = array();
  
$bildtypsql = array();
  
$bildordnersql = array();
  
$dir_base '/bilder';
  while (
$ds mysql_fetch_object($sql)){   //soll Datenbank auslesen
    
$bildnamesql[$i] = $ds->bildpfad;
      
$bildtypsql[$i] = $ds->bildart;
      
$bildordnersql[$i] = $ds->zuordng;
    if (
$i>0);
      if (
$bildordnersql[$i] != $bildordnersql[($i-1)];  //soll Ordner auslesen
        
$dir_ordner $bildordnersql[($i-1)];
        
$dir $dir_base."/".$dir_ordner;
        if (
$handle opendir($dir)){
          while(
false !== ($file readdir ($handle))) {
            if (
$file != "." && $file != "..") {
              
$bildnamedir[$j] = $file;
              
$bildordnerdir[$j] = $dir_ordner;
              
$j++
            }
          }
          
closedir($handle);
        }
      }
    }
    
$i++
  }
  
$countdir count($bildnamedir);
  
$countsql count($bildnamesql);
  
$i 0;
  
$bilddir = array();
  
$bildarray = array();
  while (
$i == ($countdir-1)){
    
$bildarray[$i] = array($bildnamedir[$i],$bildordnerdir[$i]);
    
$bilddir[$i] = $bildarray[$i];
    
$i++
  }
  
$i 0;
  
$bildsql = array();
  
$bildarray = array();
  while (
$i == ($countsql-1)){
    
$bildsql[$i] = array($bildnamesql[$i],$bildordnersql[$i]);
    
$i++
  }
  
$i 0;
  
$j 0;
  if (
$countdir $countsql){
    
$counts $countdir;
  } else {
    
$counts $countsql;
  }
  echo 
"Bilder <table>";
  while (
$i == ($counts-1)){
    echo 
"<tr><td>".$bildsql[$i][$j]."</td><td>".$bilddir[$i][$j]."</td></tr>";
    
$j++
    if (
$j == 2){
      
$j 0;
      
$i++;
    }
  }
  echo 
"</table>";
?>

</body>
</html>

Geändert von borsty (02.06.2008 um 15:25 Uhr).
borsty ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.06.2008, 16:08  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von borsty Beitrag anzeigen
aber irgendwie funzts net so wirklich
Sehr orginelle, präzise Fehlerbeschreibung!
Vielleicht versuchst du mal kurz zu beschreiben was du willst. Das aus deinem Text ist das nicht nicht und aus dem Code noch weniger ersichtlich.
__________________
Gruss
L
lazydog ist offline  
Alt 02.06.2008, 18:18  
Neuer Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 9
borsty befindet sich auf einem aufstrebenden Ast
Standard

dachte das wär offensichtlich
naja irren ist menschlich ^^

ok also so siehts auf meinem Server aus:
/bilder/sonstiges/ // enthält .jpg Bilder
/bilder/bauwagen/ // enthält .jpg Bilder
/bilder/party/ // enthält .jpg Bilder

die bilder sind (bis auf neu hochgeladene) in einer mysql-Datenbank angelegt, die wie folgt aussieht:

bildpfad bildart zuordng
beispiel.jpg jpg sonstiges
lustig.jpg jpg bauwagen
.... .... ...


was ich nu will is das php in ´nem eigenen script die Bilder in der Mysql-Datenbank mit denen der oberen ordner vergleicht

nu hab ich im obigen script die erstma alle ausgelesen und in verschiedene arrays gestopft

von euch will ich nu das ihr des ma durchguckt weil irgendwo ´n fehler drin is und ich den nich find
sicher kann ma des auch irgendwie kürzer machn des script und des wär auch nich schlecht.
borsty ist offline  
Alt 02.06.2008, 19:10  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dieser Code erzeugt mehrere Parse Errors. Könnten wir bitte den echten Code sehen?
David ist offline  
Alt 02.06.2008, 23:46  
Neuer Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 9
borsty befindet sich auf einem aufstrebenden Ast
Standard

eigendlich hab ich nur ´n paar Kommentare oben noch dazu

aber egal hier is er nochma:

PHP-Code:
<html>
<body>

<?
    
include("mysql.inc");
  
$query "SELECT bildpfad, bildart, zuordng FROM bilder ORDER BY zuordng";
  
$sql mysql_query($query);
  
$i 0;
  
$j 0;
  
$bildnamesql = array();
  
$bildtypsql = array();
  
$bildordnersql = array();
  
$dir_base '/bilder';
  while (
$ds mysql_fetch_object($sql)){
    
$bildnamesql[$i] = $ds->bildpfad;
      
$bildtypsql[$i] = $ds->bildart;
      
$bildordnersql[$i] = $ds->zuordng;
    if (
$i>0);
      if (
$bildordnersql[$i] != $bildordnersql[($i-1)];
        
$dir_ordner $bildordnersql[($i-1)];
        
$dir $dir_base."/".$dir_ordner;
        if (
$handle opendir($dir)){
          while(
false !== ($file readdir ($handle))) {
            if (
$file != "." && $file != "..") {
              
$bildnamedir[$j] = $file;
              
$bildordnerdir[$j] = $dir_ordner;
              
$j++
            }
          }
          
closedir($handle);
        }
      }
    }
    
$i++
  }
  
$countdir count($bildnamedir);
  
$countsql count($bildnamesql);
  
$i 0;
  
$bilddir = array();
  
$bildarray = array();
  while (
$i == ($countdir-1)){
    
$bildarray[$i] = array($bildnamedir[$i],$bildordnerdir[$i]);
    
$bilddir[$i] = $bildarray[$i];
    
$i++
  }
  
$i 0;
  
$bildsql = array();
  
$bildarray = array();
  while (
$i == ($countsql-1)){
    
$bildsql[$i] = array($bildnamesql[$i],$bildordnersql[$i]);
    
$i++
  }
  
$i 0;
  
$j 0;
  if (
$countdir $countsql){
    
$counts $countdir;
  } else {
    
$counts $countsql;
  }
  echo 
"Bilder <table>";
  while (
$i == ($counts-1)){
    echo 
"<tr><td>".$bildsql[$i][$j]."</td><td>".$bilddir[$i][$j]."</td></tr>";
    
$j++
    if (
$j == 2){
      
$j 0;
      
$i++;
    }
  }
?>

</body>
</html>
borsty ist offline  
Alt 03.06.2008, 09:52  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von borsty Beitrag anzeigen
was ich nu will is das php in ´nem eigenen script die Bilder in der Mysql-Datenbank mit denen der oberen ordner vergleicht
Die Formulierung ist immer noch sehr vage. Willst du nun die Bilder ausgeben, die in der DB, aber nicht im Verzeichnis stehen?
PHP-Code:
$sql "
    SELECT 
        zuordng 
    FROM 
        bilder 
    ORDER BY 
        zuordng"
;
$res mysql_query($sql) or exit("Fehler: " mysql_error() . "<br />$sql<br />");
while (
$obj mysql_fetch_object($res)){
    
$sql2 "
            SELECT
                bildpfad
            FROM
                bilder
            WHERE
                CONCAT(zuordng, '/', bildpfad) NOT IN('" 
.
                    
implode("', '"glob("$obj->zuordng/*.jpg") .
                
"')";
    
$res2 mysql_query($sql2) or exit("Fehler: " mysql_error() . "<br />$sql2<br />");
    if (
mysql_num_rows($res2) > 0){
        echo 
"Verzeichnis: $obj->zuordng<br>");
        while(
$obj2 mysql_fetch_object($res2)){
            echo 
" - $obj2->pildpfad<br />";
        }
    }

diejenigen, im Verzeichnis, aber nicht in der DB
PHP-Code:
$sql "
    SELECT 
        bildpfad,
        zuordng 
    FROM 
        bilder 
    ORDER BY 
        zuordng"
;
$res mysql_query($sql) or exit("Fehler: " mysql_error() . "<br />$sql<br />");
while (
$obj mysql_fetch_object($res)){
    if (!
file_exists("$obj->zuordng/$obj->bildpfad")){
        echo 
"$obj->zuordng/$obj->bildpfad<br />"
    
}

oder sonst etwas.
Sind sicher noch ein paar Fehler in den Beispielen. Aber etwa in die Richtung könnte es gehen
__________________
Gruss
L
lazydog ist offline  
Alt 03.06.2008, 13:56  
Neuer Benutzer
 
Registriert seit: 17.05.2008
Beiträge: 9
borsty befindet sich auf einem aufstrebenden Ast
Standard

danke das ihr mir trotz meiner Ausdrucksweise weitergeholfn habt ^^
ich denk damit komm ich weiter
borsty 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
xyz aus function("xyz"); in Datenbank auslesen?! Nightuser PHP Tipps 2008 5 14.07.2008 05:45
prob mit datenbank auslesen ... counteam PHP Tipps 2008 22 06.07.2008 21:28
[Erledigt] zufälliges Auslesen aus Datenbank aber nur einmal am Tag Nana_chan PHP Tipps 2008 3 27.06.2008 15:23
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
beim auslesen von mysql datenbank bestimmte id nicht auslsen djrace PHP Tipps 2005-2 3 10.09.2005 13:32
[Erledigt] Daten aus einer Datenbank auslesen Datenbanken 2 04.09.2005 19:13
[Erledigt] problem beim erstellen und auslesen einer datenbank PHP Tipps 2005-2 6 04.09.2005 16:55
[Erledigt] Auslesen und Aktualisieren von einer MYSQL Datenbank PHP Tipps 2005-2 3 05.07.2005 14:39
Ordner auslesen PHP Tipps 2005-2 12 03.07.2005 16:43
Ordner auslesen, Ausgabe nach dem Datum sortieren PHP Tipps 2005-2 10 02.07.2005 17:18
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Ordner auslesen - Zusätzliche Bildplatzhalter PHP Tipps 2005 8 21.05.2005 12:25
ordner auslesen lassen notyyy PHP Tipps 2005 12 13.05.2005 14:25
Mail Adresse aus einer Datenbank auslesen? Stemmi Datenbanken 6 23.04.2005 23:24
Auslesen eines Ordner bringt Probleme PHP Tipps 2004 2 09.06.2004 13:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ordner auslesen datenbank, php datenbank sortiert mit count auslesen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:05 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