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
  #16 (permalink)  
Alt 30-12-2006, 20:25
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie oft wird eine if-schleife denn ausgeführt?

lass uns noch mal den pseudecode angucken. der vorschlag war ja,
Code:
für jeden knoten aus dem baum mit pid wiederhole
zu implementieren. in der tat läuft es auf folgendes hinaus:
Code:
für jeden knoten aus dem baum wiederhole
{
   wenn (knoden_pid = pid)
   {
      ...
   }
}
ich hoffe, du siehst ein, dass der code nur für knoten mit dieser eigenschaft ausgeführt wird.
Mit Zitat antworten
  #17 (permalink)  
Alt 30-12-2006, 21:07
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich bin völlig aus dem Tritt und kann nicht mehr klar denken.

Meinst du evtl. das ganze so in etwa?

PHP-Code:
function output($cat_arr$tiefe)
{
   foreach (
$cat_arr as $value)
   {
      if (
$value == "pid")
      {
         print 
"   ";
         print 
$cat_arr;
      }
  }

Danke, dass du soviel Geduld mit mir hast. Wenn ich das aufrufe, erscheint nix.
Mit Zitat antworten
  #18 (permalink)  
Alt 30-12-2006, 21:09
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nein. was steht in $value drin?
wenn du es nicht verstehst, schau mit print_r() da rein.
Mit Zitat antworten
  #19 (permalink)  
Alt 30-12-2006, 21:32
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

da steht folgendes drin:

Array ( [id] => 1 [pid] => 0 [kategorie] => STAMM ) Array ( [id] => 2 [pid] => 1 [kategorie] => Handbücher ) Array ( [id] => 3 [pid] => 1 [kategorie] => Demo-Versionen ) Array ( [id] => 4 [pid] => 3 [kategorie] => GDATA ) Array ( [id] => 5 [pid] => 3 [kategorie] => Microsoft ) Array ( [id] => 6 [pid] => 2 [kategorie] => PDF )

und nicht mehr:

Array ( [0] => Array ( [id] => 1 [pid] => 0 [kategorie] => STAMM ) [1] => Array ( [id] => 2 [pid] => 1 [kategorie] => Handbücher ) [2] => Array ( [id] => 3 [pid] => 1 [kategorie] => Demo-Versionen ) [3] => Array ( [id] => 4 [pid] => 3 [kategorie] => GDATA ) [4] => Array ( [id] => 5 [pid] => 3 [kategorie] => Microsoft ) [5] => Array ( [id] => 6 [pid] => 2 [kategorie] => PDF ) )


Wenn ich das richtig sehe, er hat jetzt aus dem mehrdimensionalen Array ein eindimensionales Array gemacht. Aber wie komme ich jetzt an dieser Stelle weiter?

Ich willl ja erreichen, dass er wenn die PID der ID entsrpicht, die Unterkategorie eingerückt wird. Ich sehe noch immer nicht, wie ich an dieser Stelle das erreiche.

Entschuldige bitte mein vieles Nachfragen. Ich habe jetzt fast zwei Jahre nichts mehr mit PHP gemacht und so ein komplexes Problem hatte ich noch nicht. Hatte es mir auch nicht so schwierig vorgestellt.

Ich stehe noch immer auf dem Schlauch.
Mit Zitat antworten
  #20 (permalink)  
Alt 30-12-2006, 21:41
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wenn ich das richtig sehe, er hat jetzt aus dem mehrdimensionalen Array ein eindimensionales Array gemacht.
nein, foreach geht das array durch un in $value steht pro schleifendruchlauf immer ein element aus $cat_arr. und das ist ein array. und sein element "pid" ist genau das, was wir mit dem parameter vergleichen wollen.
Mit Zitat antworten
  #21 (permalink)  
Alt 30-12-2006, 22:03
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bitte, bitte. Erlös mich endlich. Nicht das ich es sehr nett finde, dass du es mir Stück füpr Stück beibringen möchtest, aber es zeith mich total runter, dass ich es nicht raffe.

Ich nehme an, dass es mit dem Aufruf output($cat_arr, $pid, $tiefe+1) zu tun haben muss. Aber ich kann nicht mehr klar denken. Mir raucht die Birne.

function output($cat_arr, $tiefe)
{
foreach ($cat_arr as $value)
{
if ($value == $tiefe)
{
print " ";
print $pid;
}
}
}
Mit Zitat antworten
  #22 (permalink)  
Alt 30-12-2006, 22:07
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn $value der knoten ist, was ist seine pid? (bedenke, es ist bloß ein array).
Mit Zitat antworten
  #23 (permalink)  
Alt 30-12-2006, 22:13
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe da ja shcon Verständnisprobleme. Beim ersten Durchlauf ist es die 0, dann die 1 ...

Oder?
Mit Zitat antworten
  #24 (permalink)  
Alt 30-12-2006, 22:16
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

richtig, nur wo in $value liegt dieser wert? wie spricht man den an?
Mit Zitat antworten
  #25 (permalink)  
Alt 30-12-2006, 22:43
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

An zweiter Position. Mit $value[1]?

PHP-Code:
function output($cat_arr$tiefe)
{
   foreach (
$cat_arr as $value)
   {
      
print_r($value);
      if (
$value[1] == $tiefe)
      {
         print 
"   ";
         print 
$value;
      }
   }

???
Mit Zitat antworten
  #26 (permalink)  
Alt 30-12-2006, 22:51
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1. hast du die parameter wieder vermurkst.
2. bei einem assoziativen array haben die schlüssel strings als namen. die sieht man mit print_r().
Mit Zitat antworten
  #27 (permalink)  
Alt 30-12-2006, 22:54
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OffTopic:
sry wenn ich euer trautes zwigespräch störe, aber ich würde schon gerne noch einwerfen, dass in verbindung mit print_r() sich die <pre> und </pre> tags ganz hervorragend benutzen lassen sieht dann besser aus ... aber jetzt .. lasst euch nicht weiter stören
Mit Zitat antworten
  #28 (permalink)  
Alt 30-12-2006, 23:16
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Och manno. Jetzt machen sich andere schon über mich lustig. Muss das dann evtl. $value["pid"] heißen?
Mit Zitat antworten
  #29 (permalink)  
Alt 30-12-2006, 23:17
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja. diesen wert möchten wir mit dem parameter vergleichen (auf gleichheit prüfen).
Mit Zitat antworten
  #30 (permalink)  
Alt 30-12-2006, 23:31
Tomcat Chriss
 Registrierter Benutzer
Links : Onlinestatus : Tomcat Chriss ist offline
Registriert seit: Aug 2003
Ort: Hamm, NRW
Beiträge: 235
Tomcat Chriss ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay, dann denke ich, die Funktion und das restliche Script müsste so lauten:

PHP-Code:
$arr_count 0;
$cat_arr = array();

$sql "SELECT * FROM kategorien ORDER BY id, pid;";
$result mysql_query($sql) or die(mysql_error());
while (
$row mysql_fetch_array($resultMYSQL_ASSOC))
{

   
$id $row["id"];
   
$pid $row["pid"];
   
$kategorie $row["kategorie"];

   
$cat_arr[$arr_count] = array();
   
$cat_arr[$arr_count]['id'] = $id;
   
$cat_arr[$arr_count]['pid'] = $pid;
   
$cat_arr[$arr_count]['kategorie'] = $kategorie;

   
$arr_count $arr_count 1;

}

//Hier fehlt mir jetzt ein Puzzzle-Stück
    
function output($cat_arr$pid$tiefe)
{
    foreach (
$cat_arr as $value)
    {
        
print_r($value);
        if (
$value["pid"] == $tiefe)
        {
        print 
"   ";
        print 
$value;
    }
    else
    {
        print 
$value;
  }

Ich denke, jetzt fehlt mir noch ein Puzzle-Stück, wo ich nicht weiß, wie es aussehen muss.
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

myExplorer

explorer-ähnliche Darstellung von Verzeichnisinhalten. Ideal für Downloadordner. Möglichkeit Filter zu definieren um nur bestimmte Dateien/Ordner darzustellen. Sehr leicht einzubinden.

16.07.2019 bmitt | Kategorie: PHP/ File
WebAudio Player

Dieser Music-Player demonstriert, was mit der WebAudio-API so alles möglich ist. Er ist dazu gedacht, dass ihr euren Besuchern Musik auf der eigenen Homepage anbieten könnt.

16.07.2019 numaek | Kategorie: JAVASCRIPT/ sonstig
Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
 Alle PHP Scripte anzeigen

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