PDA

View Full Version : خطادر نمایش نتیجه function



baran.f.a
شنبه 10 مرداد 1394, 09:15 صبح
سلام
من یک function نوشتم که در phpadminبدون هیچ مشکلی کار می کنه ولی وقتی در کد php این function رو فراخوانی می کنم خروجی با خطا همراهه نمی دونم چطور باید دستور چاپ دادرو بنویسم .لطفا راهنماییم کنید .
این function :


DROP PROCEDURE `z`//
CREATE DEFINER=`root`@`localhost` PROCEDURE `z`()
BEGIN
SET @sql = NULL;

SELECT
GROUP_CONCAT(
DISTINCT CONCAT(
'MAX(IF(pmdate = ''', pmdate, ''', percent, NULL)) AS ', '`', pmdate, '`'
)
ORDER BY pmdate
)
INTO
@sql
FROM
pmcontrol;

SET @sql = CONCAT('
SELECT
user_family AS technician_id,

', @sql, '
FROM
pmcontrol
LEFT JOIN user
on user.u_id=pmcontrol.technician_id
GROUP
BY technician_id
');

PREPARE stmt FROM @sql;

EXECUTE stmt;
END




این خروجی در phpadmin :

133785
می خوام تو گزارشم به همین صورت خروجی داشته باشم :

کدم اینه :


$cats_weblog = mysql_query('CALL z();') or die (mysql_error());
if($cats_weblog) {
if(mysql_num_rows($cats_weblog) > 0) {

while($cats_row = mysql_fetch_assoc($cats_weblog)) {

echo $cats_row['technician_id'];
echo $cats_row['pmdate'];

}
}

}


و خطام اینه :
133786

لطفا راهنماییم کنید خیلی ضروریه .

Unique
شنبه 10 مرداد 1394, 13:43 عصر
دوست عزیز خوب معلومه خطا میده شما توی همون خروجی phpmyadmin هیچ فیلدی با عنوان pmdate ندارین !
اینطوری بنویسین :


echo "<table>";
$cnt = 1;
$titles = array();
$trs = array();
while($cats_row = mysql_fetch_assoc($cats_weblog)) {
$trs[] = "<tr>";
foreach($cats_row as $k=>$v){
if ($cnt == 1)
$titles[] = "<td>$k</td>";

$trs[] = "<td>$v</td>";
}
$trs[] = "</tr>";
$cnt += 1;
}
echo "<tr>".implode("",$titles)."</tr>";
echo implode("",$trs);
echo "</table>";