0

私はこれを行うために多くの異なることを試みましたが、私のアイデアはすべて失敗しました。このwhileループを実行した後、最後のコンマを削除するにはどうすればよいですか?

<body onload="
    <?php while($row = mysql_fetch_assoc($thing3)): ?>
        checkEdits_<?php echo $row['directory_name']; ?>(),
    <?php endwhile; ?>
">

スクリプト全体を台無しにする最後のコンマを最後に追加します。

php while(loop)は、domを実行したときにこれを出力します。

<body onLoad="checkEdits_juk(), checkEdits_HTML(), checkEdits_JAVASCRIPT(), checkEdits_JQUERY(),">

最後に最後のコンマが必要ないことを除いて。彼らはそれを取り除く方法ですか?

4

5 に答える 5

7

データを配列に入れてimplode関数を使用できます

  $directory_names = array();
  while($row = mysql_fetch_assoc($thing3)) {
    $directory_names[] = $row['directory_name'];
  }
  echo implode(', ', $directory_names);
于 2012-08-18T22:21:10.463 に答える
3
substr($yourString, 0, strlen($yourString) - 1);

これにより、0番目のインデックスから最後の-1の位置までのすべてを含む文字列のサブストリングが返されます。

于 2012-08-18T22:21:12.067 に答える
1

MYSQL行の配列で、phpの結合関数(実装)を使用しますhttp://php.net/manual/en/function.join.php

于 2012-08-18T22:22:47.847 に答える
1

または、次を使用できます。

<body onload="function() {
    <?php while($row = mysql_fetch_assoc($thing3)) { ?>
        checkEdits_<?php echo $row['directory_name']; ?>(); 
    <?php } ?>
}">
于 2012-08-18T22:23:44.580 に答える
0

rtrim最後のコンマを削除するために使用します。私はこのように書き直します:

<?php 
$onload = "";
while($row = mysql_fetch_assoc($thing3)) {
    $onload .= "checkEdits_" . $row['directory_name'] . ", ";
}
$onload = rtrim($onload, ', ');
?>

<body onload="<?php echo $onload; ?>">
于 2012-08-18T22:24:19.540 に答える