Help bij "concept" lyrics site

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Altin

Altin

23/02/2007 20:45:00
Quote Anchor link
Yo,
Ik wil een klein lyrics cms proberen te maken.
Nu kan ik wel een beetje php, maar ik weet niet op welke -manier- ik het moet doen.

Het ding zou de liedjes, per artist, genre, en album moeten zetten dus zit ik hiermee vast:

Ik veronderstel dat het $_GET is dat ik moet gebruiken naar wat er wordt gevraags ? lied/album/artist

Nu als ik in de url heb ?band=769 toont het alle liedjes van die groep.
Als er dan geklikt wordt op een lied, komt er in de url ?band=769?song=9.
Maar hoe doe ik dan dat het niet meer een lijst van alle liedjes toont zoals in de eerste stap, waar er nog geen song is gedefinieerd ?

Ik hoop dat iemand mij op weg gaat helpen, of misschien een beter manier voorstelt ?

BIj voorbaat dank.
 
PHP hulp

PHP hulp

24/11/2024 19:21:45
 
Frank -

Frank -

23/02/2007 20:49:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
if(isset($_GET['song']) && ctype_digit($_GET['song'])){
  // show song
}
elseif(isset($_GET['band']) && ctype_digit($_GET['band'])){
  // show band
}
else {
  // show homepage
}
?>

Voorbeeldje...
 
Altin

Altin

23/02/2007 20:58:00
Quote Anchor link
Frank schreef op 23.02.2007 20:49:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
if(isset($_GET['song']) && ctype_digit($_GET['song'])){
  // show song
}
elseif(isset($_GET['band']) && ctype_digit($_GET['band'])){
  // show band
}
else {
  // show homepage
}
?>

Voorbeeldje...

Doe ik dan gewoon in de volgorde van welk ze voorrang hebben ?
bv, $genre gaat voor $band gaat voor $album gaat voor $genre

Want ik zie hiermee nog altijd niet wat er gebeurt mochten er 2 gedefinieerd zijn ...
 
Altin

Altin

24/02/2007 11:20:00
Quote Anchor link
Ik wil trouwes dat er meerdere vars zitten in de url, zodat ik later iets kan doen met mod_rewrite, zodat de url's er zo uitzien:
/m/metallica/kill_them_all.html :)
 
Arjan Schuurman

Arjan Schuurman

24/02/2007 11:47:00
Quote Anchor link
Dat is niet makkelijk... Waarom zou je mod_rewrite gaan gebruiken als je er ook komt met $_GET komt...
 
Altin

Altin

24/02/2007 12:00:00
Quote Anchor link
het is beter voor seo, maar die mod_rewrite heeft momenteel nog geen belang.
Dit is wat ik nu heb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
include ('config.php');


if (isset($_GET['band'])){ // artist set ?
  if (ctype_digit($_GET['band'])){
      $sql = mysql_query("SELECT * FROM artist WHERE id=".$_GET['band']."");
    while ($row = mysql_fetch_array($sql)){
      echo "".$row['name']."";
    }
  }

  else{
      echo "Invalid band";
  }
}
  // end if artist

elseif (isset($_GET['char'])){ // artists first char set ?
  if (ctype_alpha($_GET['char']{0})){ // letter ?
      $sql = mysql_query("SELECT * FROM artist WHERE LOWER(LEFT(name, 1)) = '" . $_GET['char']{0} . "'");
    if(!$sql){ echo "error on the char part: ".mysql_error();}
    echo "<ul>\n";
    while ($row = mysql_fetch_array($sql)){
      echo "<li><a href=\"".$_SERVER['PHP_SELF']."\">".$row['name']."</a></li>\n";
    }

    echo "</ul>\n";
  }

  elseif (ctype_digit($_GET['char'])){ // number ?
      $sql = mysql_query("SELECT * FROM artist WHERE name RLIKE '^[0-9]'");
    if(!$sql){ echo "error on the char part: ".mysql_error();}
    echo "<ul>";
    while ($row = mysql_fetch_array($sql)){
      echo "<li><a href=\"".$_SERVER['PHP_SELF']."\">".$row['name']."</a></li>\n";
    }

    echo "</ul>";
  }

  else{ // wrong ?
      echo "Invalid char";
  }
}
// end if first char

?>


En het probleem, is dat als er in de url staat nu ?char=m?band=1
dat het nog steeds alleen toont wat er zou moeten getoont worden wanneer er alleen die char is gezet.
Dus kan iemand voorstellen wat ik moet doen zodat het alleen het eerste deel uitvoert ?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.