1

私はmysqlからいくつかの行を選択しました

単語の間にアンダースコアを入れたい

このような :

<?php
$query='SELECT * FROM subcates WHERE maincates_id=1';
$result=mysql_query($query);
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
    echo "<li><a href='".$row['name'].".php?c=".$row['id']."&gov=1&h=1'>".$row['name']."</a></li>";    
}
?>

名前を選択するときにこれを教えてほしい:

database ==> first second

いつでも欲しいselected ==> first_second

どうも

4

2 に答える 2

2

スペースをアンダースコアに置き換えるだけの場合は、次のコマンドを実行します。

str_replace(" ","_",$row["name"])http://php.net/manual/en/function.str-replace.phpを参照してください。

于 2012-11-06T15:16:40.403 に答える
2

試す:

//Considering its the $row['name'] that you want in first_second format
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
  $row['name'] = str_replace(' ', '_', $row['name']);
  echo "<li><a href='".$row['name'].".php?c=".$row['id']."&gov=1&h=1'>".$row['name']."</a></li>";

}

編集:

  $query='SELECT * FROM subcates WHERE maincates_id=1';
  $result = mysql_query($query); 
  while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
  if( current($result) === 'First second' ) {
    $new_name = str_replace(' ', '_', $row['name']);
   echo "<li><a href='".$new_name.".php?c=".$row['id']."&gov=1&h=1'>".$new_name."  </a></li>";
 }
  else        
     echo "<li><a href='".$row['name'].".php?=".$row['id']."&gov=1&h=1'>".$row['name']."  </a></li>";    
 }
于 2012-11-06T15:14:54.243 に答える