دوستان سلام
من سر يك پروژه دانشگاهي مشكل دارم. يك برنامه به زبان پي اچ پي دارم مي نويسم كه يه جائي از آن ايراد داره خواهش مي كنم راهنمائي كنيد. خلاصه برنامه اينه كه مي خوام به بانك ماي اس كيو ال وصل بشم و عمل درج و حذف و انتخاب و بروز رساني را انجام بدم منتها مي خوام بوسيله يك كلاس اينكار را انجام بدم يعني query را بدم به توابع عضو اون كلاس و از اون كلاس جواب بگيرم. اينم برنامه مشكل دار من .
اين همون كلاسيه كه گفتم:
<?php
class DataAccess{
private $pass="123";
private $user="root";
private $server="localhost";
private $port="3306";
private $database;
private $mysqli;
private $result;
//////////////////////////////////////////////////////
function _construct($value){
$this->database=$value;
}//end of constructor-
////////////////////////////////////////////////////
function connect(){
$this->mysqli=new mysqli($this->server,$this->user,$this->pass,$this->database);
if($this->mysqli->errno){
printf("Unable to connect to the database:
%s",$this->mysqli->error);
exit();
}//end of if statement
}//end of connect
////////////////////////////////////////////
function hello(){
echo "hello";
}//end of hello-
//////////////////////////////////
function disconnect(){
$mysqli.close();
}//end of disconnect
///////////////////////////////////////////////////////////
function select_query($valu){
$this->result = $this->mysqli->query($valu, MYSQLI_STORE_RESULT);
// Iterate through the result set
[
u]while ($row = $this->result->fetch_array(MYSQLI_NUM))[/u]سطر بالا سطريه كه خطا روي آن گرفته شده است.
{
$sku = $row[0];
$name = $row[1];
$price = $row[2];
echo "($sku) $name: $price
";
}
}//end of excute_query function
///////////////////////////////////////////////////////
function executeQuery($val){
$this->result=$this->mysqli->query($val,MYSQLI_STORE_RESULT);
echo "query has been excute";
}// end of excuteQuery function.
}//end of class
?>
اينم فايلي است كه شئي از اين كلاس ايجاد و تابع عضو را صدا مي زنم
<?php
//passenger.php
include "DataAccess.php";
$dal=new DataAccess("bus");
$dal->connect();
$dal->hello();
$query = "select * from passenger ";
$dal->select_query($query);
//Fatal error: Call to a member function fetch_array() on a non-object in /opt/lampp/htdocs/DataAccess.php on line 42
/*
$mysqli=new mysqli("localhost","root","123","bus");
if($mysqli->errno){
printf("Unable to connect to the database:
%s",$mysqli->error);
exit();
}
$query = "SELECT * from passenger";
$result = $mysqli->query($query, MYSQLI_STORE_RESULT);
// Iterate through the result set
while(list($ID, $Fname, $Lname,$codemelli,$email) = $result->fetch_row())
printf("(%s) %s %s: %s %s
", $ID, $Fname, $Lname,$codemelli,$email);
*/
?>
اينم خطائي كه مي ده
Fatal error: Call to a member function fetch_array() on a non-object in /opt/lampp/htdocs/DataAccess.php on line 42
يه سوال ديگه هم دارم و اون اينكه چطور مي تونم نتيجه يك select را در يك چك ليست يا Drop down بياورم. اگه بخوام در پروژه دقيتر بگويم مي خواهم نتيجه يك select از جدول شهرها در ديتابيس را داخل يك drop down listيا optional listنمايش دهم.
ممنون
سلام
اگر می شه کد فرم را بذارید تا راحتتر بتونم کمک کنم
سلام
به روی چشم sabersoft جان. یه فرم ساده با چند تا دکمه:
به یه عبارت می خوام یه کاری مثل برنامه های کاربردی در سی شارپ انجام بدهم که هر دکمه دارای یک event handler باشه.
<html>
<body>
<head>
<script type="text/javascript">
function myPopup2() {
window.open('result.php','popup',
'width=500,height=500,scrollbars=no,
resizable=no,toolbar=no,directories=no,
location=no,menubar=no,status=no,left=0,top=0')
}
</script>
</head>
<?php
require_once "Dispatcher.php";
$dis=new Dispatcher();
$dis->connect("bus");
$query="SELECT * FROM city";
$arr=$dis->fillOption($query);
$arr2=$dis->fillOption("Select * from vihecle");
?>
<h1>Welcome Administrator!</h1>
<form action="queryresult.php" method="post">
select your vehicle here:
<input type="radio" name="vehicle" value="bus" checked="checked" /> Bus
<input type="radio" name="vehicle" value="train" /> Trin
<input type="radio" name="vehicle" value="plane" /> Plane
Add Program here:
Vehicle:
<select name="vehicle[]">
<?php
array_unshift($arr2,"select vehicle");
for($i=0;$i<count($arr2);$i++)
echo <<<OPT
<option value="$arr2[$i]">$arr2[$i]</option>
OPT;
?>
</select>
Source:
<select name="source[]">
<?php
array_unshift($arr,"select source");
for($i=0;$i<count($arr);$i++)
echo <<<OPT
<option value="$arr[$i]">$arr[$i]</option>
OPT;
?>
</select>
Distination:
<select name="destination[]">
<?php
array_shift($arr);
array_unshift($arr,"select destination");
for($i=0;$i<count($arr);$i++)
echo <<<OPT
<option value="$arr[$i]">$arr[$i]</option>
OPT;
?>
</select>
Year: <select name="years[]">
<option value="1388">1388</option>
<option value="1389">1389</option>
</select>
Month: <select name="monthes[]">
<option value="1" selected>Farvardin</option>
<option value="2">ordibehesht</option>
<option value="3">Khordad</option>
<option value="4">Tir</option>
<option value="5">Mordad</option>
<option value="6">Shahrivar</option>
<option value="7">Mehr</option>
<option value="8">Aban</option>
<option value="9">Azar</option>
<option value="10">Dey</option>
<option value="11">Bahman</option>
<option value="12">Esfand</option>
</select>
Day: <select name="days[]">
<?
for($i=1;$i<=31;$i++)
echo <<< OPT
<option value="$i">$i</option>
OPT;
?>
</select>
Hour: <select name="hour[]">
<?
for($i=0;$i<=23;$i++)
echo <<< OPT
<option value="$i">$i</option>
OPT;
?>
</select>
Minute: <select name="minute[]">
<?
for($i=0;$i<=55;$i+=5)
echo <<< OPT
<option value="$i">$i</option>
OPT;
?>
</select>
<input name="psubmit" type="submit"/>
<input name="pqsubmit" type="submit" value="show me all programs"/>
Add City:
Name of city:<input name="city" /> <input name="csubmit" type="submit">
<input name="showc" type="button" onClick="myPopup2()" value="show me all cities"/>
Add Vihecle:
Name of Vihecle:<input name="vname" />
<input name="vsubmit" type="submit"/>
<input name="pqsubmit" type="submit" value="show me all vehicles"/>
Add Passenger:
Passenger first name <input name="fname" size="25"/>
Passenger last name <input name="lname" size="25"/>
Passenger code melli <input name="codemelli" size="25"/>
Passenger email <input name="email" size="25"/>
<input name="psubmit" type="submit" />
<input name="pqsubmit" type="submit" value="show me all passengers"/>
</form>
</body>
</html>