2011-08-10 23 views
2

私はあなたが私を助けることができるかと思います。私はモジュールと呼ばれるテーブルを持っており、その中にmoduleID、moduleTitle、moduleCodeなどがあります。渡されたIDを取得する

チェックボックスは、表示されている各モジュールの横に表示され、チェックボックスの値はmoduleIDです。ユーザーがモジュールをチェックして送信をクリックすると、別のページに渡されます。この他のページでは、チェックされたmoduleIDを取得することができましたが、これらのmoduleIDを回すことに問題があり、この新しいページでチェックされたものに対してmoduleTitle、moduleCodeなどを表示できます。私は次のコードが、運を使用していた

は:混乱:

<?php 

$cats_upload = ""; 
    foreach($_POST['module'] as $cats) // errors if no modules are selected 
    { 
     echo '<p>Module data moduleID: '.$cats.'</p>'; 

    } 
     $sql = mysql_query("SELECT * FROM modules WHERE moduleID ='".$cats."'"); 


$productCount = mysql_num_rows($sql); //count the output amount 

if($productCount > 0){ 
    while($row = mysql_fetch_array($sql)){ 

    $moduleTitle = $row["moduleTitle"]; 


     $cats_upload .= "<tr><td>$moduleTitle</td></tr>"; 

    } 
} else { 
    $cats_upload = "<tr><td>No modules have been selected</td></tr>"; 
} 

?> 

、誰もがそれが何であるかに何か提案がある場合、私に知らせてください。あなたに一致するすべてのモジュールを搭載したSQLの結果を与える必要があります おかげ

答えて

2
$cats_upload = ""; 

if (!empty($_POST['module'])) { 

    foreach ($_POST['module'] as $moduleID) { 
     $modules[] = $moduleID; 
    } 

    $module_list = implode(',', $modules); 

    $sql = "SELECT moduleTitle FROM modules WHERE moduleID IN (" . $module_list . ")"; 
    $result = mysql_query($sql) or die("Error in $sql: " . mysql_error()); 

    while ($row = mysql_fetch_array($result)) { 
     $cats_upload .= "<tr><td>" . $row['moduleTitle'] . "</td></tr>"; 
    } 

} else { 
    $cats_upload .= "<tr><td>No modules have been selected</td></tr>"; 
} 
1
$cats = array(); 
foreach($_POST['module'] as $cat) // errors if no modules are selected 
{ 
    echo '<p>Module data moduleID: '.$cat.'</p>'; 
    $cats[] = intval($cat); // Assumption: ids are numeric 
} 
$sql = mysql_query("SELECT * FROM modules WHERE moduleID IN (".implode(',', $cats).")"); 

関連する問題