2

アニメーション スクリプトではなく、jquery スライドを使用して、mysql データベースから画像をスライドさせる作業がありました。スライドには、少なくともアップロードされた最新の 10 枚の画像が表示されるはずです。それで、まずランダムクエリを書きました

mysql_query("select * from tblname order by rand() limit 1);

しかし、予想どおり、投稿された時期に関係なくランダムに画像を選択し、もちろん最新の 10 枚ではありませんでした。少し考えた後、最初にクエリを実行して最新の 10 個を取得する必要がありました

mysql_query("select * from tblname order by ID limit 10);
while($row=mysql_fetch_array($sql){
    $slideid=$slideid.",".$row['recordid'];
}

これはもちろん、この順序の変数になります

$var="23,22,24,34,27,78,56,87,98,55";

配列のように扱ってみましたが、肯定的な結果が得られなかったため、この数値を選択してスライドに使用する方法に問題がありました

4

6 に答える 6

5
$myArr=explode(',',$var);
sort($myArr);

for($i=0;$i<count($myArr);$i++)
{
    echo $myArr[$i];
}

編集:より効率的に使用するには:

$myArr=explode(',',$var);
sort($myArr);

foreach ($myArr as $val)
{
    echo $val;
    // Or do whatever else you want with each one.
}

編集 2: 効率と for ループと予期しない結果については、以下のコメントを参照してください。:)

于 2012-07-17T12:21:54.203 に答える
1
$var="23,22,24,34,27,78,56,87,98,55";
$arr = explode(',',$var);
foreach ($arr as $val) {
   // work with $val
}

explode文字列を配列に分割します

于 2012-07-17T12:22:04.187 に答える
1

あなたのコメントに基づいて、私は2pをミックスに提供します

これは私がしたことです $slideid="23,22,24,34,27,78,56,87,98,55"; $arr = 爆発(',',$slideid); foreach ($arr as $val) { // フォームから変数を取得します post $rs = mysql_query("SELECT * FROM tblname WHERE id='$val'") or die(mysql_error()); while($row=mysql_fetch_array($rs)){ echo "<img src='image/$image'>"; 画像は jquery スライドを使用して 1 つずつ表示されます

mysqlには気の利いたIN()関数があるため(おそらく他のデータベースではわかりません)、この変数の爆発に対処するのに時間を無駄にしていると思います

$slideid = "23,22,24,34,27,78,56,87,98,55";
$rs = mysql_query("SELECT * FROM tblname WHERE id IN({$slideid})") or die(mysql_error());
while ($row = mysql_fetch_assoc($rs))
{
    echo "<img src='image/{$row['image']}' />";
}

これが役立つことを願っています

于 2012-07-17T13:01:39.000 に答える
0

これは、php の爆発関数を使用して実現できます。

$pieces = 爆発(",", $var);

echo $pieces[0]; // ピース1

エコー $pieces 1 ; // ピース 2

.

.

.

echo $pieces[n]; // ピース n

于 2012-07-17T12:25:37.790 に答える
0

1) コンマで分割して、文字列を配列に分解します。

2)数値を数値順に並べ替えたいのか、それともすでにある順序で処理したいのかを言いませんでした。前者の場合は、配列を次のように並べ替えますsort($arr);

3)配列を順番にループし、各数値で何かをします

$str = '1,2,3,4,5,6';
$arr = explode(',', $str);
foreach($arr as $num) echo $num.'<br />';

カンマの後にスペースが変更されている場合は、より動的であるため、preg_splitではなく を選択することをお勧めします。explode

$arr = preg_split('/, ?/', $str);
于 2012-07-17T12:22:42.330 に答える
0

ここで変数の順序に関して順序の結果を取得する必要があると思います

$slideid = "23,22,24,34,27,78,56,87,98,55";
$rs = mysql_query("SELECT * FROM tblname WHERE id IN({$slideid}) ORDER BY FIELD(id, {$slideid}) ") or die(mysql_error());
while ($row = mysql_fetch_assoc($rs))
{
    echo "<img src='image/{$row['image']}' />";
}
于 2012-07-17T13:28:20.770 に答える