我有一个MySQL表,它有一个数组列,而每个元素都用",“分隔。我正在尝试获得所有行的总计数(145)
当我运行下面的代码时,我得到了$index的145,这是正确的,但是$totalClasses是0。所以很明显我遗漏了一些东西。
如果有人能指出我的错误,我将不胜感激!
谢谢,
受害者
echo "<br><b>Number Classes Entered:</b>";
$SQL="SELECT ExhibitorClasses FROM tblShowEntries WHERE ShowID = $ShowID AND ExhibitorClasses IS NOT NULL AND ExhibitorClasses !=' '";
$result = mysql_query($SQL);
$myClasses = array(); // make a new array
$index = 0;
while($row = mysql_fetch_assoc($result)) // loop to get the count
{
$myClasses[$index] = $row;
$userclasses = count($myClasses[$index]);
$totalclasses = $totalclasses + $userClasses;
$index++;
}
// $userClasses = explode(",", $myClasses);
// $totalclasses = count($myClasses);
echo $index . " " . $totalclasses 发布于 2014-05-25 02:11:37
在……里面
$SQL="SELECT ExhibitorClasses FROM tblShowEntries WHERE ShowID = $ShowID AND ExhibitorClasses IS NOT NULL AND ExhibitorClasses !=' '";您没有连接var $ShowID正确的是:
$SQL="SELECT ExhibitorClasses FROM tblShowEntries WHERE ShowID = ".$ShowID." AND ExhibitorClasses IS NOT NULL AND ExhibitorClasses !=' '";发布于 2014-05-25 21:17:28
感谢所有回应的人--这是我的最终代码。也许有一种更好的方法可以做到这一点,但它是有效的,所以我猜这没问题。
$SQL="SELECT ExhibitorClasses FROM tblShowEntries WHERE ShowID = ".$ShowID." AND ExhibitorClasses IS NOT NULL AND ExhibitorClasses !=' '";
$result = mysql_query($SQL);
$myClasses = array(); // make a new array to hold my classes
$totalClasses=0;
$index = 0;
$query = mysql_query($SQL);
$row = mysql_fetch_row($query);
while($row = mysql_fetch_row($query)) // loop
{
$myClasses[$index] = $row[0];
$classes = explode(",", $myClasses[$index]);
$count = 0;
foreach ($classes as $item) {
$count++;
}
$totalClasses = $totalClasses + $count;
$index++;
}
echo "<br><b>Number Classes Entered:</b> ".$totalClasses; https://stackoverflow.com/questions/23848126
复制相似问题