• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا این کلاس کار نمیکنه ؟
#1
سلام .
کد زیر رو ببینید :
کد پی‌اچ‌پی:
$select=mysql_query($query);

while(
$row=mysql_fetch_array($select)){
 echo 
$row['id'].' - '.$row['name'].' - '.$row['family'].' - '.$row['kodemeli'].' -
 '
.$row['city'].' - '.$row['mobile'].' - '.$row['tarikherezervaz'].' - '.$row['ta'].' - '.$row['residepardakht'].'<br>';



به صورت زیر به کلاس تبدیل می کنم ولی ارور پارسه میده:
کد پی‌اچ‌پی:
<?php

class view {
var 
$id;
var 
$name;
var 
$family;
var 
$kodemeli;
var 
$city;
var 
$mobile;
var 
$tarikherezervaz;
var 
$ta;
var 
$residepardakht;
var 
$row;
var 
$select;

function 
viewvalue($id="id",$name="name",$family="family",$kodemeli="kodemeli",$city="city",
$mobile="mobile",$tarikherezervaz="tarikherezervaz",$ta="ta",$residepardakht="residepardakht"){
$this->id=$id;
$this->name=$name;
$this->family=$family;
$this->kodemeli=$kodemeli;
$this->city=$city;
$this->mobile=$mobile;
$this->tarikherezervaz=$tarikherezervaz;
$this->ta=$ta;
$this->residepardakht=$residepardakht;
}
function 
view(){

$this->while($this->$row=mysql_fetch_array($select)){

$this->echo $row['$this->id'].' - '.$row['$this->name'].' - '.$row['$this->family'].' - '.$row['$this->kodemeli'].' - '.$row['$this->city'].' - '.$row['$this->mobile'].' - '.$row['$this->tarikherezervaz'].' - '.$row['$this->ta'].' - '.$row['$this->residepardakht'].'<br>';
}
}
}
?>

کد صحیحش رو میشه بگید + یه توضیح
  پاسخ
تشکر شده توسط :
#2
سلام.
کد زیر رو ببینید :
کد پی‌اچ‌پی:
$con=mysql_connect('localhost','root','');
mysql_select_db('hotel',$con); 

تبدیلش کردم به کلاس زیر :
کد پی‌اچ‌پی:
<?php

class db {
var 
$host;
var 
$username;
var 
$password;
var 
$database;

function 
db ($host="localhost",$username="root",$password="",$database="hotel"){
$this->host=$host;
$this->username=$username;
$this->password=$password;
$this->database=$database;
}
function 
open_connection(){
$this->con=mysql_connect($this->host,$this->username,$this->password);
$this->select_db mysql_select_db($this->database) or die(error);
}
}
?>
الان کار میکنه.
میخوام کد لالا هم شبیه به همین واسم بگین چطوری کلاسش کنم.
چون ای بگی نگی خودم فهمیدم کد اول رو چطور به کلاس اول تبدیل کردم.
  پاسخ
تشکر شده توسط :
#3
وقتي ميخواي يک عضو از آرايه رو ب کليدش بخوني بايد بصورت
$arr['key']
بخوني
ولي اگه کليد صرفاً يک متغييره نيازي به کوتيشن يا دبل کوتيشن نيست

$array_key = 'key';
$arr[$array_key]

جان کلام اينکه کدهايي مثل اين رو
کد پی‌اچ‌پی:
$row['$this->id']; 

به اين
کد پی‌اچ‌پی:
$row[$this->id]; 

تغيير بده

اون کلاس رو اینجوری بنویسی بهتر نیست ؟
کد پی‌اچ‌پی:
class db {
private 
$host;
private 
$username;
private 
$password;
private 
$database;

    function 
db ($host="localhost",$username="root",$password="",$database="hotel")
    {
        
$this->host=$host;
        
$this->username=$username;
        
$this->password=$password;
        
$this->database=$database;
    }
    
    function 
connect()
    {
    @
mysql_connect($this->host,$this->username,$this->password) or die('<h1> Error in connection');
    @
mysql_select_db($this->database) or die('<h1> Error in select db');
    }

وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#4
اون کاری که در باره کلید و این حرفا گفتی انجام دادم. اما بازم ارور میده :
Parse error: parse error in c:\wamp ....

به نظر در کلاس نویسی کد زیر
کد پی‌اچ‌پی:
$query="SELECT * FROM register";

$select=mysql_query($query);


 while(
$row=mysql_fetch_array($select)){
 echo 
$row['id'].' - '.$row['name'].' - '.$row['family'].' - '.$row['kodemeli'].' - '.$row['city'].' - '.$row['mobile'].' - '.$row['tarikherezervaz'].' - '.$row['ta'].' - '.$row['residepardakht'].'<br>';


یه چیو اشتباه کردم. اونی که گفتی رو هم اصلاح کردم ولی نشد که نشد.چون ارور میده
  پاسخ
تشکر شده توسط :
#5
وقتی پارسر خطا میده شماره خط رو مینویسه
ببین کدوم خطه
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#6
خط 27
فضای خالی بین دستورات نباشه و خط 27 میشه $this->while($row=mysql_fetch_array($select)){
  پاسخ
تشکر شده توسط :
#7
مشکل با
echo $row[$this->id];
داره و در صفحه ای که کدو میزارم خطاش اینطوریه :
Notice: Undefined index: in c:\wamp\www\hotel\admin\connection.php on line 22
یعنی پس میخونه اما یه جای کار میلنگه

کد کامل php این صفحه :
کد پی‌اچ‌پی:
$query="SELECT * FROM register";

$select=mysql_query($query);


 while(
$row=mysql_fetch_array($select)){
echo 
$row['id'].' - '.$row['name'].' - '.$row['family'].' - '.$row['kodemeli'].' - '.$row['city'].' - '.$row['mobile'].' - '.$row['tarikherezervaz'].' - '.$row['ta'].' - '.$row['residepardakht'].'<br>';

}
mysql_close($con);


?>

واقعا کسی نتونس؟
یعنی انقدر سخته؟
  پاسخ
تشکر شده توسط :
#8
این یعنی فیلدی به اسم id توی جدول دیتابیست نیست!
بعد به جای استفاده از mysql_fetch_array از mysql_fetch_assoc استفاده کن
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#9
نه عزیز . بودن هست. چون کد کار میکنه وقتی کلاس میکنم کار نمی کنه. پس نتیجه اخلاقی = مورد از کلاسه !
نه . بازم ارور پارسه تو خط 26 یعنی خط زیر:
$this->while($this->$row=mysql_fetch_assoc($select)){

داداش کد زیر رو چطوری به کلاس تبدیل میکنی؟
کد پی‌اچ‌پی:
$query="SELECT * FROM register";
$select=mysql_query($query);
 while(
$row=mysql_fetch_array($select)){
echo 
$row['id'].' - '.$row['name'].' - '.$row['family'].' - '.$row['kodemeli'].' - '.$row['city'].' - '.$row['mobile'].' - '.$row['tarikherezervaz'].' - '.$row['ta'].' - '.$row['residepardakht'].'<br>';
}
mysql_close($con); 
من مخم سوت کشید از بس با اینا کلنجار رفتمHuhHuh
  پاسخ
تشکر شده توسط :
#10
ببین اینکه اصلاً میگی
نقل قول: کد زیر رو چطوری به کلاس تبدیل میکنی؟
خیلی بی معنیه!

شما یا باید اصولی یاد بگیری یا همون روشی که گفتم ، چند تا از توابعت رو تبدیل کن با کلاسی با متد استاتیک و تحویل استاد بده .

در مورد این کد من که گفتم از کلاس ezSQL استفاده میکنم .
توضیحاتشم که دادم برای گرفتن اطلاعات چند سطری چه باید بکنی !
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان