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 Bewertung: Bewertung: 14 Stimmen, 5,00 durchschnittlich.
  #46 (permalink)  
Alt 05-11-2008, 10:39
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von h3ll
PHP 4 wurde Ende August offiziell eingestellt. Sollte man so oder so nicht mehr benutzen.
Ich weiss! Ich kann leider die Umgebung nicht beeinflussen!
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #47 (permalink)  
Alt 05-11-2008, 10:41
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von nichtsooft
@asp2php Denke das wird unter PHP4 nicht laufen! :-/
Du hast garnicht reingeguckt ... das ist in php4 geschrieben, denn zu der Zeit gab es php5 nicht!
Mit Zitat antworten
  #48 (permalink)  
Alt 05-11-2008, 10:48
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von asp2php
Du hast garnicht reingeguckt ... das ist in php4 geschrieben, denn zu der Zeit gab es php5 nicht!
Hey!? Ich bin grad dabei das zu testen! Guck dir mal an wie schnell mein RPLY kam! Da ist's doch klar, dass ich das noch nicht antesten konnte! Nochdazu muss ich mich jetzt erst rumspielen, wie ich das auf MYsql umstricke....
__________________
WHILE (!$asleep) { $sheep++; }

Geändert von nichtsooft (05-11-2008 um 10:51 Uhr)
Mit Zitat antworten
  #49 (permalink)  
Alt 05-11-2008, 10:54
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von nichtsooft
Hey!? Ich bin grad dabei das zu testen! Guck dir mal an wie schnell mein RPLY kam! Da ist's doch klar, dass ich das noch nicht antesten konnte! Nochdazu muss ich mich jetzt erst rumspielen, wie ich das auf MYsql umstricke....
Wenn du noch garnicht reingeguckt hast, woher dann die Vermutung dass es nicht unter PHP4 läuft? Arbeitest du immer so? Wenn deine Kollegen Vorschläge machen, dann sagst du immer sofort dass es nicht geht, ohne drüber nachzudenken oder zu prüfen?
Mit Zitat antworten
  #50 (permalink)  
Alt 05-11-2008, 10:58
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von asp2php
Wenn du noch garnicht reingeguckt hast, woher dann die Vermutung dass es nicht unter PHP4 läuft? Arbeitest du immer so? Wenn deine Kollegen Vorschläge machen, dann sagst du immer sofort dass es nicht geht, ohne drüber nachzudenken oder zu prüfen?
Zugegeben hab ich mir wenigstens den Einleitungstext reingezogen und als ich da Klasse gelesen hab, war mein erster Gedanke PHP5 weil ich objektorientiert bislang immer nur an PHP5 Projekten rumgepfuscht hab.... Also bitte nicht sauer sein!
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #51 (permalink)  
Alt 05-11-2008, 11:15
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du solltest es nicht nur ausgeben lassen, sondern darüber nachdenken warum wo welcher Wert raus kommt und nicht der den du willst.

call-by-value vs. call-by-reference sag ich dazu nur:
PHP-Code:
function echoarray($var$depth=0, &$cnt=1$sub=0) { 
Mit Zitat antworten
  #52 (permalink)  
Alt 05-11-2008, 12:22
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Ja *lol* !?

Ich wusste garnicht, dass es diese Möglichkeit in PHP überhaupt gibt!
-> http://www.wellho.net/slideshow/bynamebyvalue.jpg
In diesem Fall kann ich mich nur selbst mit einem *RTFM* bestrafen, dir danken ghost und hoffen, dass du noch etwas Geduld für mich aufbringst um mir beim letzten verbleibenden Problem zu helfen!

Meine Idee hierzu wäre:
Ich weiss wieviele SUBs ein Punkt hat und bis diese Zahl gezählt wird, füge ich den nachkommenden Zeilen (sofern diese auch SUB sind und nicht den selben $parent haben) so nen senkrechten Strich hinzu...
__________________
WHILE (!$asleep) { $sheep++; }

Geändert von nichtsooft (05-11-2008 um 12:29 Uhr)
Mit Zitat antworten
  #53 (permalink)  
Alt 05-11-2008, 18:57
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich verstehe dein Problem nicht...
Du willst bei Subebenen zweiter Ebene in den vorigen Ebenen den senkrechten Strich mitführen? Also praktisch in einer Zeile nicht nur eine Grafik, sondern pro Subebene darüber noch jeweils eine?
Mit Zitat antworten
  #54 (permalink)  
Alt 05-11-2008, 19:28
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Ja so in der Art! Wenn du dir mal den aktuellen Status ansiehst, wird dir die Problematik auf den ersten Blick bewusst: Status
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #55 (permalink)  
Alt 05-11-2008, 21:36
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du wirst wohl nicht drumherum kommen eine Abart einer Stack-Implementation mit durch alle Instanzen der Rekursion zu schleifen.
Heißt jeder Aufruf kriegt noch z.B. ein Array übergeben in dem für jede vorige Ebene definiert ist, ob eine Linie hin soll oder nicht.
(Ja, das ist nicht ganz einfach das gebe ich zu - wirst du trotzdem selbst dich dran versuchen müssen.)
Mit Zitat antworten
  #56 (permalink)  
Alt 08-11-2008, 18:53
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Gelöst!
Dank dem Einsatz eines meiner Studienkollegen läuft das jetzt!
Zitat:
Original geschrieben von HoaX
...Wird wahrscheinlich nicht die eleganteste lösung sein, aber es funzt!
...zumindest wenn sich die Datenmengen in Grenzen halten!
Keine Ahnung wieviel Overhead und Performanceverlust bei großen Datenmengen ist...
PHP-Code:
function get_categories() {
    
$return = array();
    
    
$result mysql_query("
        SELECT id, name, subof
        FROM site_galleries
        WHERE issub=0
    "
);        // element level 0
    
    
while ($row mysql_fetch_assoc($result)) {
        
$therow get_sub($row['id']);  
        if (
$therow) {        // kind(er) vorhanden
            
$return[] = array($row"SUB" => $therow);        // beinhaltet array mit kind(ern)
        
} else {        // leeres parent
            
$return[] = array($row);
        }
    }
    
    return 
$return;
}

function 
get_sub($parent) {
    
$return = array();
    
    
$result mysql_query("
        SELECT id, name, subof
        FROM site_galleries
        WHERE issub=1
        AND subof='"
.$parent."'
    "
);        // element level >0
    
    
while ($row mysql_fetch_assoc($result)) {
        
$therow get_sub($row['id']);
        
        if (
$therow) {        // kind(er) vorhanden
            
$return[] = array($row'SUB' => $therow);        // beinhaltet array mit kind(ern)
        
} else {        // leeres element
            
$return[] = array($row);
        }
    }
    
    return 
$return;
}

function 
echoarray($var$depth=0, &$cnt=1$sub=0, &$stack=array()) {
    
/**
     * $var: array mit aktuellem knoten (& kindern)
     * $depth: tiefe dieses knotens
     * $cnt: zeilenbg
     * $sub: anzahl entries auf gleichem level mit gleichem root
     * $stack: wenn array -> line-info fuer jede div-ebene [stack[x] == 0 --> keine linie; stack[x] == 1 --> linie]
     */
    
$i 0;
    
    foreach (
$var as $val) {
        
$i++;
        
        
/* zeilenbg abwechselnd */
        
if ($cnt == 0) {
            
$bgcolor "#f1f5fa";
            
$cnt 1;
        } else {
            
$bgcolor "#fff";
            
$cnt 0;
        }
        
        echo 
"\t<div class=\"galline\" style=\"background-color: ".$bgcolor.";\">\n";        // zeilencontainer
        
        /* vertikale linien zeichnen */
        
$j 0;
        while (
$j $depth) {
            if (
$stack[$j]) {        // arraystelle = 1 --> vertikale linie
                
echo "\t\t<div class=\"admsubico\"><img src=\"../pics/icons/therearesubs.gif\" class=\"thesubico\"></div>\n";
            } else {                
// arraystelle = 0 --> leeres div
                
if ($j) {        // kein root-element
                    
echo "\t\t<div class=\"rueck\"></div>\n";
                }
            }
            
$j++;
        }
        
        
/* tree-div */
        
if ($sub != 0) {                    // mehr als ein element auf gleicher ebene
            
if ($i == count($var)) {        // aktuelles element = anzahl der element auf ebene
                
echo "\t\t<div class=\"admsubico\"><img src=\"../pics/icons/itsasub.gif\" class=\"thesubico\"></div>\n";        // letztes sub
            
} else {
                echo 
"\t\t<div class=\"admsubico\"><img src=\"../pics/icons/itaresub.gif\" class=\"thesubico\"></div>\n";        // zwischensub
            
}
        }
        
        echo 
"\t\t<div class=\"galname\">".$val[0]["name"]."</div>\n";        // line-text
        
echo "\t</div>\n";                                                    // ende line
        
        /* kinder der aktuellen zeile ausgeben, sofern vorhanden */
        
if (isset($val["SUB"])) {            // element hat kind(er)
            
if ($sub>and $depth) {        // mehr als 1 element in selber ebene && nicht root (-> depth=0)-element
                
$stack[$depth] = 1;            // senkrechte linie ist zu zeichnen
            
} else {                        // entweder root oder nur ein element in ebene
                
$stack[$depth] = 0;            // nichts zeichnen
            
}
            
echoarray($val["SUB"], $depth+1$cntcount($val["SUB"]), $stack);        // funktion fuer kinder aufrufen
        
}
    }
}

echo 
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
echo 
"<HTML>\n";
echo 
"<HEAD>\n";
echo 
"<TITLE>TEST</TITLE>\n";
echo 
"<LINK REL=\"stylesheet\" type=\"text/css\" HREF=\"test.css\">";
echo 
"</HEAD>\n";
echo 
"<BODY>\n";

echoarray(get_categories());

echo 
"\t<BR><BR><BR><BR>\n";
// echo "\tDem Baum fehlen noch immer einige senkrechte Linien!\n";

echo "</BODY>\n";
echo 
"</HTML>\n";

// fat props to TEH HoaX!!! ;)

?> 
Das Snippet ist selbstverständlich zur freien Entnahme! Nen passenden DB-Dump gibt's in einem der vorangegangenen Posts...

Lg. aus Wien.

SRY dass der Code nicht extra fürs Forum formatiert wurde...
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #57 (permalink)  
Alt 09-11-2008, 16:46
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

Nachtrag:
Das Ganze gibt's selbstverständlich auch als Pulldown:

PHP-Code:
function galasselect($var$depth=0, &$cnt=1$sub=0) {
    
$i 0;
    FOREACH (
$var as $val) {
        
$i++; 
        
$rueck $depth 16;
        IF (
$sub != 0) {        // WENN ES SICH UM EINE SUBgalerie handelt...
          
$class "norm";     
        } ELSE {  
          
$class "bold";     
        }
        echo 
"\t\t<OPTION CLASS=\"".$class."\" STYLE=\"padding: 0 0 0 ".$rueck."px;\" VALUE=\"".$val[0]["id"]."\">".$val[0]["name"]."</OPTION>\n";
        IF (isset(
$val["SUB"])) {
            
$anzahl = isset($val["SUB"]) ? count($val["SUB"]) : 0;
            
// echo $cnt;
            
galasselect($val["SUB"], $depth+1$cnt$anzahl);
        }
    }

Und die Ausgabe:
PHP-Code:
echo "\t<SELECT NAME=\"gallist\" ID=\"gallist\" STYLE=\"width: 550px; border: 1px solid #abc6dd; background-color: #e5effd;\">\n";
echo 
"\t\t<OPTION CLASS=\"norm\" VALUE=\"nope\" SELECTED>Wählen Sie eine Galerie...</OPTION>\n";
galasselect(get_categories());
echo 
"\t</SELECT>\n"
Lg. Berny
__________________
WHILE (!$asleep) { $sheep++; }
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 08:53 Uhr.