2013-06-30 86 views
0

我有一個包含鏈接的數據庫的數組,一些值是正常的「index.php」,但其他看起來像「browse.php | search.php | calendar.php | tags.php?tags_mode = profile | search .php?show = match「,但我只想使用第一個路徑」browse.php「,並將所有從第一個」|「包容性..我該怎麼做?PHP從MySQL查詢中減去「|」字符

這是我的代碼:

$sql = "SELECT * FROM $tablename WHERE `Parent` = '0' AND Type LIKE 'top' ORDER BY `Order` ASC"; 
    $result = mysql_query($sql) or die ("Error: Query Failed! " .mysql_error()); 
    $output = "<ul>"; 
    while ($rs = mysql_fetch_array($result)) { 

     $output .= "<li class='menu_top' id='".$rs['ID']."'><a href='".$rs['Link']."'>".$rs['Name']."</a></li>"; 
     $sql2 = "SELECT * FROM $tablename WHERE `Parent` = '".$rs['ID']."' ORDER BY `Order` ASC"; 
     $result2 = mysql_query($sql2) or die ("Error: Query Failed! " .mysql_error()); 
     if (mysql_num_rows($result2) != 0) { 
      $output .= "<ul class='menu_sub' id='".$rs['ID']."'>"; 
      while ($rs2 = mysql_fetch_array($result2)){ 
      $output .= "<li><a href='".$rs2['Link']."'>".$rs2['Name']."</a></li>"; 
      } 
      $output .= "</ul>"; 
     } 
    } 
    $output .="</ul>"; 
    echo $output; 

$rs['Link']是一個我想被削減這樣的..

我想減,但我真的不能說,但我自己能行因爲我對PHP太新了.. 謝謝你的任何建議..

回答

2

如果你只需要第一個元素,你可以使用帶有極限爆炸:

$link=explode("|",$rs['Link'], 1); 
echo $link [0]; 
1

$ link = explode(「|」,$ rs ['Link']);

$output .= "<li class='menu_top' id='".$rs['ID']."'><a href='".$link[0]."'>".$rs['Name']."</a></li>"; 

你走了。

0

你可以用純SQL做到這一點:

$ SQL =「SELECT *,IF(INSTR(Link, ''')> 0,LEFT(Link,INSTR(Link,'|') - 1),Link)AS FormattedLink FROM $ tablename WHERE Parent ='0'AND Type LIKE'top'ORDER BY Order ASC「;