+ en - in php

Status
Niet open voor verdere reacties.

exotic

Gebruiker
Lid geworden
10 jul 2007
Berichten
277
Beste,

Ik zoek een script waarbij ik bepaalde dingen op + en - kan gebruiken
bijvoorbeeld:

Code:
CD Lijst:
+ Artiest Naam 1
+ Artiets Naam 2

Druk ik dan op + krijg je het volgende:

Code:
CD Lijst:
+ Artiest Naam 1
   - Album 1
   - Album 2
+ Artiets Naam 2

Druk ik dan op Album 1 dan ga ik naar een pagina bijvoorbeeld:
Code:
?page=Artiest1&album=Album2

Wie o Wie kan mij helpen.. ( artiesten en albums wil ik kunnen toevoegen via internet )
Mvg, Wesley
 
iets meer info zou handig zijn, moet ie, als je er op klikt, ook afspelen?
 
Heb je al wat.. of heb je niks, en moet je alles nog maken?
 
Simple Tree Menu

Kwestie van plaatjes opzoeken met een plus en een min (In de FamFamFam Silk icons zitten ze sowieso) en die gebruiken in plaats van de huidige map-afbeeldingen.

Daarnaast kun je zat aanpassingen in het CSS maken om hem echt naar eigen wens te stylen.
 
ja oke..
maar ik wil dan via PHP dingen toevoegen:

+ Folder naam ( toegevoegd via een form )
+ Sub form ( toegevoegd via een form )

Snapje?
 
Je kunt je mappen gewoon in het HTML laten echoën.

Beetje implementeren moet toch niet zo moeilijk zijn...
 
maar dan werkt het niet via php?
ik zal niet de enige zijn die iets toevoegt..

dus vandaar dat ik het via php en mysql wil laten lopen.
maar volgens mij gaat dat heel lastig worden om het via php te laten draaien?
 
Dus? Je kunt gewoon de inhoud vanuit de database in het menu zetten :rolleyes:

PHP:
<ul id="treemenu1" class="treeview">
<?php

$query = "SELECT * FROM mappen";
$result = mysql_query($query) or die(mysql_error));
while($row = mysql_fetch_array($result)) {
  echo'<li>'. $row['mapnaam'];
  $query2 = "SELECT * FROM submappen WHERE supermap ='". $row['id'] ."'";
  $result2 = mysql_query($query2) or die(mysql_error());
  if(mysql_num_rows($result2) > 0) {
    echo'<ul>';
    while($row2 = mysql_fetch_array($query2)) {
      echo'<li>'. $row2['mapnaam'] .'</li>';
    }
    echo'</ul>';
  }
  echo'</li>';
}
?>
</ul>
Dit is om een voorbeeld te geven, uiteindelijk is het handiger om een recursieve oplossing te vinden zodat je meer dan 2 levels kunt zoeken en ook een beter naamgeving bedenkt :)
 
Oke, ik heb het voor elkaar om het via een database te laten lopen.
Hellaas is het zo dat als ik Andre Hazes qua artiest 2x toevoegt.
het systeem een fout maakt:

Klik Hier

Wat kan ik daaraan doen?
 
Laatst bewerkt:
Komt waarschijnlijk door je query.

Zou je de bron-code willen plaatsen tussen
PHP:
...
 
PHP:
<?php

$query = "SELECT * FROM cdlijst";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
  echo'<li>'. $row['artiest'];
  $query2 = "SELECT * FROM cdlijst";
  $result2 = mysql_query($query2) or die(mysql_error());
  if(mysql_num_rows($result2) > 0) {
    echo'<ul>';
    while($row2 = mysql_fetch_array($result2)) {
      echo'<li>'. $row2['album'] .'</li>';
	    $query3 = "SELECT * FROM cdlijst";
  $result2 = mysql_query($query2) or die(mysql_error());
  if(mysql_num_rows($result2) > 0) {
    echo'<ul>';
    while($row2 = mysql_fetch_array($result2)) {
      echo'<li>'. $row2['cd1'] .'</li>';
	  echo'<li>'. $row2['cd2'] .'</li>';
    }
    echo'</ul>';
  }
      echo'</ul>';
  }
  echo'</li>';
}}
?>

En als het zou kunnen wou ik dat dit systeem zelf kijkt hoeveel cds er zijn:
PHP:
echo'<li>'. $row2['cd1'] .'</li>';
echo'<li>'. $row2['cd2'] .'</li>';

ik weet alleen niet hoe dat moet :)
 
Laatst bewerkt:
Als je maar 1 query gebruikt hoef je die niet steeds opnieuw te maken :)

Probeer dit eens:
PHP:
<ul id="treemenu1" class="treeview">
<?php
// Alle unieke artiesten weergeven
$query = "SELECT DISTINCT artiest FROM cdlijst";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
  echo'<li>'. $row['artiest'];
  // Alle cd's weergeven van de artiest
  $query2 = "SELECT * FROM cdlijst WHERE artiest='". $row['artiest'] ."'";
  $result2 = mysql_query($query2) or die(mysql_error());
  if(mysql_num_rows($result2) > 0) {
    echo'<ul>';
    while($row2 = mysql_fetch_array($result2)) {
      echo '<li>'. $row2['cd1'] .'</li>';
      if(!empty($row2['cd2'])) {
        echo '<li>'. $row2['cd2'] .'</li>';
      }
     }
    echo'<ul>';
  }
  echo'</li>';
}
?>
</ul>

Help mij even met de database-structuur.
Ik begrijp niet helemaal waarom je een cd1 en een cd2 veld hebt.
 
Laatst bewerkt:
nu zie je de albums niet maar alleen de CD's

-- CD's ( ik heb meerdere CD's in 1 album.. vandaar dat ik de cd's wil laten weergeven ivm een link die erbij komt om naar de tracklist van de cd te gaan.
 
Laatst bewerkt:
Dan heb ik de verkeerde toegevoegd.

Deze zou je de albums moeten geven
PHP:
<ul id="treemenu1" class="treeview">
<?php
// Alle unieke artiesten weergeven
$query = "SELECT DISTINCT artiest FROM cdlijst";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
  echo'<li>'. $row['artiest'];
  // Alle cd's weergeven van de artiest
  $query2 = "SELECT * FROM cdlijst WHERE artiest='". $row['artiest'] ."'";
  $result2 = mysql_query($query2) or die(mysql_error());
  if(mysql_num_rows($result2) > 0) {
    echo'<ul>';
    while($row2 = mysql_fetch_array($result2)) {
      echo '<li>'. $row2['album'] .'</li>';
     }
    echo'<ul>';
  }
  echo'</li>';
}
?>
</ul>
 
Nu staat alleen de CDlijst er niet bij :)
maar zo klopt het schema wel!
 
Dus je wilt eigenlijk dit:
Code:
- Artiest
  - Album
    - CD1
    - CD2
Heb je maximaal 2 cd's?

Geef anders even de databasestructuur.

edit: waarom heb je dit er eigenlijk tussen staan?
Code:
<script type="text/javascript">


ddtreemenu.createTree("treemenu1", true)
ddtreemenu.createTree("treemenu2", true)
ddtreemenu.createTree("treemenu3", true)
ddtreemenu.createTree("treemenu4", true)
</script>
 
Laatst bewerkt:
waarom ik dat er tussen heb staan, ja dacht dat het anders niet zou werken
Klopt! maar ik heb 6 cd's

Code:
CREATE TABLE `cdlijst` (
  `id` tinyint(5) NOT NULL auto_increment,
  `artiest` varchar(40) collate latin1_general_ci NOT NULL default '0',
  `album` varchar(50) collate latin1_general_ci NOT NULL default '0',
  `cd1` varchar(10) collate latin1_general_ci NOT NULL,
  `cd2` varchar(10) collate latin1_general_ci NOT NULL,
  `cd3` varchar(10) collate latin1_general_ci NOT NULL,
  `cd4` varchar(10) collate latin1_general_ci NOT NULL,
  `cd5` varchar(10) collate latin1_general_ci NOT NULL,
  `cd6` varchar(10) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ;
 
Laatst bewerkt:
PHP:
<ul id="treemenu1" class="treeview"> 
<?php 
// Alle unieke artiesten weergeven 
$query = "SELECT DISTINCT artiest FROM cdlijst"; 
$result = mysql_query($query) or die(mysql_error()); 
while($row = mysql_fetch_array($result)) { 
  echo'<li>'. $row['artiest']; 
  // Alle cd's weergeven van de artiest 
  $query2 = "SELECT * FROM cdlijst WHERE artiest='". $row['artiest'] ."'"; 
  $result2 = mysql_query($query2) or die(mysql_error()); 
  if(mysql_num_rows($result2) > 0) { 
    echo'<ul>'; 
    while($row2 = mysql_fetch_array($result2)) { 
      echo '<li>'. $row2['album'] .'<ul>';
      for($i = 1; $i < 7; $i++) {
        $key = "cd". $i;
        if(!empty($row2[$key])) {
          echo '<li>'. $row2[$key] .'</li>';
        }
      }
      echo '</ul></li>';
     } 
    echo'</ul>'; 
  } 
  echo'</li>'; 
} 
?> 
</ul>

Op hoop van zegen :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan