Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ERROR แบบนี้คืออะไรคะ Fatal error: Cannot redeclare swath() (previously declared in 'xyz'



 

ERROR แบบนี้คืออะไรคะ Fatal error: Cannot redeclare swath() (previously declared in 'xyz'

 



Topic : 095181



โพสกระทู้ ( 114 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามคะ ERROR แบบนี้คืออะไรคะ แก้ไขยังไง

Code
Fatal error: Cannot redeclare swath() (previously declared in C:\AppServ\www\swathf\test11date.php:28) in C:\AppServ\www\swathf\test11date.php on line 28




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-14 21:07:57 By : Butterney View : 3449 Reply : 8
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
swath


ประกาศ function นี้ซ้ำครับ อาจจะเรียกใน loop หรือ include ซ้ำซ้อน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 21:14:53 By : mr.win
 


 

No. 2



โพสกระทู้ ( 114 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2013-05-14 21:14:53
รายละเอียดของการตอบ ::
แล้วมีวิธีไหนที่เราจะวนลูปเรียกใช้ฟังก์ชันมั้ยคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 21:16:59 By : Butterney
 

 

No. 3



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

อธิบายให้นะครับ

Code (PHP)
function abc()
{
    echo 'abc';
}

function abc()
{
    echo 'abc 2';
}


แบบนี้จะ error ครับ เพราะมี "การประกาศ" ฟังก์ชั่นในชื่อเดียวกันสองครั้ง

Code (PHP)
include 'functions.php';
include 'functions.php';


แบบนี้ก็จะ error หากในไฟล์ functions.php มีการประกาศฟังก์ชั่น

ดังนั้นการหาจุดผิดในโค้ดของคุณ ลองหาดูว่า มีการประกาศฟังก์ชั่นซ้ำ หรือการ include ไฟล์ซ้ำหรือไม่
ถ้าเป็นการ include สามารถแก้ด้วยการใช้ include_once ครับ (จะทำให้ include ไฟล์นั้นๆ ครั้งเดียวเสมอ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 21:24:39 By : cookiephp
 


 

No. 4



โพสกระทู้ ( 114 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนช่วยดูโค้ดให้หน่อยนะคะ หนูลองดูแล้วมันก้ไม่มี function ที่ซ้ำกันอ่ะคะ



ตอบความคิดเห็นที่ : 3 เขียนโดย : cookiephp เมื่อวันที่ 2013-05-14 21:24:39
รายละเอียดของการตอบ ::
Code (PHP)
           $con = mysql_connect("localhost","root","root");
           mysql_query("SET NAMES UTF8");
           mysql_select_db("newsextraction", $con);
           $query = "SELECT news_detail,url_id,type_id FROM news_web  ";
           $result = mysql_query($query); 

           while($row = mysql_fetch_array($result))
          {
		      $typeID =$row['type_id'];
			  $urlID = $row['url_id'];
		      $newssu="{$row['news_detail']}";
 		     // echo  "$newssu <BR>" ;
             
	
	     
	     function swath($input_text)
		   {
			$input_filename= tempnam("/tmp", "swath_");
			$output_filename= tempnam("/tmp", "swath_");
			$input_text_tis620 = iconv("UTF-8", "TIS-620", $input_text);
			file_put_contents($input_filename, $input_text_tis620);
			system("C:/AppServ/www/swathf/swath < $input_filename > $output_filename");
			$raw = file_get_contents($output_filename);
			$raw_utf8 = iconv("TIS-620", "UTF-8", $raw);
			unlink($input_filename);
			unlink($output_filename);
			return preg_split('/\|/', $raw_utf8);
			 
		} 
	$output = swath($newssu);
   //print implode("<BR>", $output);
	
    file_put_contents("C:\AppServ\www\swathf\output.txt",implode ($output,"\r\n"));	

          $strFileName = "C:\AppServ\www\swathf\output.txt";//อ่านไฟล์
          $objFopen = fopen($strFileName, 'r');
          if ($objFopen) {
          while (!feof($objFopen)) {
          $file = fgets($objFopen, 4096);
		  //$xx .= $file;
          // echo $file."<br>";
		
		 $conn = mysql_connect(localhost,root,root) or die ('Error connecting to mysql');
         mysql_query("SET NAMES UTF8");
         $dbname = 'newsextraction';
         mysql_select_db($dbname);
         $query1 = "SELECT nameE FROM name_entity WHERE nameE LIKE '".trim($file,"\t\n\r\0\x0B")."' ";
         $result1 = mysql_query($query1);
         while($row = mysql_fetch_array($result1))
             {
		          $show .= $row['nameE']."," ;
				  
		     }
			
        }}
    
         //echo"$show";


        
			 

          $array = explode(",", $show);// ตัดคำด้วย ,
          $i = 0;
          foreach ($array as $value) {
	      if($array[$i] != "ที่" && $array[$i] != "ณ")
	      {
		    if($back_status != 1)
		    {
			//echo "-".$array[$i]."-<br>";//ตรงนี้จะเช็คทีละคำ ก่อนคำว่าที่
			   $front = "$array[$i]";
			//echo"$front";
			
	      $conn = mysql_connect(localhost,root,root) or die ('Error connecting to mysql');
          mysql_query("SET NAMES UTF8");
          $dbname = 'newsextraction';
          mysql_select_db($dbname);
          $query2= "SELECT nameE,type_id FROM name_entity WHERE nameE = '".trim($array[$i],"\t\n\r\0\x0B")."'  ";
		  // การ Query ด้วยเงื่อนไขที่เป็น LIKE ควรใส่เครื่องหมาย % ไม่อย่างนั้นก็ใช้ = ไปเลย
          $result2 = mysql_query($query2);
          while($row = mysql_fetch_array($result2))
             {
		          //$show .= $row['nameE']."," ;

				 $show2.=" {$row['nameE']}//{$row['type_id']}&nbsp&nbsp" ;  
				 
				 if($row['type_id'] == 1){
				 	$x1 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 2){
				 	$x2 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 3){
				 	$x3 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 4){
				 	$x4 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 5){
				 	$x5 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 6){
				 	$x6 .= $row['nameE']." ";
				 }
				  // echo"$show2";
				  
		     }
				
			

		      }
		   $front .= $array[$i];
		
	}

	if($array[$i] == "ที่" || $array[$i] == "ณ")
	{
		//echo $front."<br>";//เทียบกับ DB
		$back_status = 1;
		
	}
	if($back_status == 1 || $array[$i] == "ณ")
	{
		if($array[$i] != "ที่" && $array[$i] != "ณ")
		{
			$back .= $array[$i];
			//echo "-".$array[$i]."-<br>";////ตรงนี้จะเช็คทีละคำ หลังคำว่าที่
		$back = "$array[$i]<BR>";
		//echo"$back";
		
		 $conn = mysql_connect(localhost,root,root) or die ('Error connecting to mysql');
         mysql_query("SET NAMES UTF8");
         $dbname = 'newsextraction';
         mysql_select_db($dbname);
         $query3 = "SELECT nameE,type_id FROM name_entity WHERE type_id = 6 AND nameE = '".trim($array[$i],"\t\n\r\0\x0B")."'  ";
		 // การ Query ด้วยเงื่อนไขที่เป็น LIKE ควรใส่เครื่องหมาย % ไม่อย่างนั้นก็ใช้ = ไปเลย
         $result3 = mysql_query($query3);
         while($row = mysql_fetch_array($result3))
             {
		          //$show .= $row['nameE']."," ;

				  $show3 .=" {$row['nameE']}//{$row['type_id']}&nbsp&nbsp" ;  
				   if($row['type_id'] == 1){
				 	$x1 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 2){
				 	$x2 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 3){
				 	$x3 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 4){
				 	$x4 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 5){
				 	$x5 .= $row['nameE']." ";
				 }
				 
				  if($row['type_id'] == 6){
				 	$x6 .= $row['nameE']." ";
				 }
		       // echo"$show3";
				  
			 }
				
		
		
	
		
		
		}
			
	}
	
	$i++;
}

//echo $back."<BR>";//เทียบกับ DB
  $news= $show2.$show3;  
  //echo"$news";
  echo $x1."<br>";
  echo $x2."<br>";
  
  $test = substr($x1,0,-1);
  echo $test;
  $q = mysql_query("insert into news_su (type_id,url_id,org,act,title,per,loc,`date`) values ( '".$typeID."','".$urlID."','".$x1."','".$x3."','".$x2."','".$x4."','".$x5."','".$x6."')");
  echo "insert into news_su (org,act,title,per,loc,`date`) values ('".$x1."','".$x2."','".$x3."','".$x4.",'".$x5."','".$x6."'')";
//  $add = explode(" ",$news);
  
// print_r ($add);
  
    
  }
           
		   
	 mysql_close($con);
	 
  
	 
		 


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 21:38:11 By : Butterney
 


 

No. 5



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

มันซ้ำกันครับ เพราะ swath() ถูกประกาศในลูป while ครับ

Code
while($row = mysql_fetch_array($result)) { $typeID =$row['type_id']; $urlID = $row['url_id']; $newssu="{$row['news_detail']}"; // echo "$newssu <BR>" ; function swath($input_text) { $input_filename= tempnam("/tmp", "swath_"); $output_filename= tempnam("/tmp", "swath_"); $input_text_tis620 = iconv("UTF-8", "TIS-620", $input_text); file_put_contents($input_filename, $input_text_tis620); system("C:/AppServ/www/swathf/swath < $input_filename > $output_filename"); $raw = file_get_contents($output_filename); $raw_utf8 = iconv("TIS-620", "UTF-8", $raw); unlink($input_filename); unlink($output_filename); return preg_split('/\|/', $raw_utf8); } $output = swath($newssu); //print implode("<BR>", $output);


วิธีแก้ ย้ายมัน (สีแดง) ออกมาอยู่ข้างนอก while ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 21:41:51 By : cookiephp
 


 

No. 6



โพสกระทู้ ( 114 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : cookiephp เมื่อวันที่ 2013-05-14 21:41:51
รายละเอียดของการตอบ ::
คือหนูต้องการวนดึงข้อมูลจาก ดาต้าเบส แล้วไปเข้าฟังก์ชัน swath อ่ะคะ หนูเลยใช้ while ครอบ ถ้าไม่เอา while ครอบ จะมีวิธีไหนบ้างคะ

ช่วยแนะนำด้วยนะคะ ขอบคุณคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 21:57:46 By : Butterney
 


 

No. 7



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 6 เขียนโดย : Butterney เมื่อวันที่ 2013-05-14 21:57:46
รายละเอียดของการตอบ ::
เข้าใจผิดแล้วนะครับ
การประกาศฟังก์ชั่น ต้องทำครั้งเดียวครับ ไม่จำเป็นต้องอยู่ในลูป (และต้องไม่อยู่ในลูปด้วย)
ประกาศแล้ว จะใ้ช้ซ้ำกี่ครั้งก็ได้


function swath($input_text) { $input_filename= tempnam("/tmp", "swath_"); $output_filename= tempnam("/tmp", "swath_"); $input_text_tis620 = iconv("UTF-8", "TIS-620", $input_text); file_put_contents($input_filename, $input_text_tis620); system("C:/AppServ/www/swathf/swath < $input_filename > $output_filename"); $raw = file_get_contents($output_filename); $raw_utf8 = iconv("TIS-620", "UTF-8", $raw); unlink($input_filename); unlink($output_filename); return preg_split('/\|/', $raw_utf8); } while($row = mysql_fetch_array($result)) { $typeID =$row['type_id']; $urlID = $row['url_id']; $newssu="{$row['news_detail']}"; // echo "$newssu <BR>" ; $output = swath($newssu); //print implode("<BR>", $output);



ประวัติการแก้ไข
2013-05-15 01:25:28
2013-05-15 01:25:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-15 01:25:08 By : cookiephp
 


 

No. 8



โพสกระทู้ ( 913 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

-*- function เหตุผลคือ มันสามารถใช้กี่ครั้งก็ได้ไม่ต้องไปวนแบบนั้นเหมือน แมวของคุกกี้ บอกหนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-15 10:07:01 By : teez1232002
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ERROR แบบนี้คืออะไรคะ Fatal error: Cannot redeclare swath() (previously declared in 'xyz'
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่