الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل بحث في قاعدة بيانات باكثر من مدخل

بدأه muzamil87 في 21 يوليو 2010 · 29 رد · 2,003 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#26
bastr3 كتب:

error_reporting(0);

في بداية الصفحة بعد وسم البي أتش بي

مشكور اخي على الكود

جزاك الله خير

الان الخطوه القادكه هي ان اقوم بتحويل قاعدة البيانات التي لدي access الى mysql وذلك لتطبيقها على في الجداول ولكن تكمن المشكله في انه بعدما ان قمت بتحويلها لم تظهر البيانات في الجداول

مع العلم بان

قاعدة البيانات عندي شغاله بكفائه على access وكذلك مدمجه في برنامج تم تصميمه بال visual basic وكل حاجه شغاله بدون اي مشاكل

المطلوب اني احول قاعدة البيانات واضعها في موقع على الانترنت بحيث ان تصبح online database بدلا من offline database using visual basic

هل من الممكن ان تساعدوني في عمل ذلك ؟

تقبلوا تحياتي

#27

أذكر أحدهم طلب مثل هذا الطلب قبل فتره وقمت بالرد عليه يمكنك البحث داخل هذا القسم من المنتدى لتجد الإجابه

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#28

اخواني الكرام

عندي قاعدة البيانات مكونه من 4 جداول موجوده في المرفقات

عندما حاولت ربطها مع الجداول لاظهارها تمكنت من ربط الجدولين الاوائل اما الجدول الثالث فلم تظهر اي بيانات مع العلم اني استخدمت نفس الكود

<?php
//connect mysql
error_reporting(0);
define('db_host', 'localhost');
define('db_name', 'cosdat_test');
define('db_user', 'root');
define('db_pass', '');
$link = mysql_connect(db_host,db_user,db_pass)or die ('I cannot connect to the database because: ' . mysql_error());
$db_selected = mysql_select_db(db_name, $link);

function get_sql($table,$id){
    	$f=mysql_fetch_array(mysql_query("select $table from $table where id=$id"));
    	return $f[0];
}
$countries="";// for hacks!
$sql_countries=mysql_query("SELECT * FROM countryseries");
while ($row_countries = mysql_fetch_array($sql_countries, MYSQL_BOTH)) {
    	$countries.="<option value='$row_countries[0]'>$row_countries[1]</option>\n\r";
}

$types="";// for hacks!
$sql_types=mysql_query("select * from indicatorvariable{:content:}quot;);
while ($row_types = mysql_fetch_array($sql_types, MYSQL_BOTH)) {
    	$types.="<option value='$row_types[0]'>$row_types[1]</option>\n\r";
}

$yesrs="";// for hacks!
$sql_yesrs=mysql_query("select Years from yearlist");
while ($row_yesrs = mysql_fetch_array($sql_yesrs, MYSQL_BOTH)) {
    	$yesrs.="<option>$row_yesrs[countries]</option>\n\r";
}

if($_POST["country"] && $_POST["types"] && $_POST["yesrs"]){
    	$echo="<table width='100%' border='1'>
  <tr style='background:#333;color:#fff'>
    	<td>country</td>
    	<td>type_info</td>
    	<td>year</td>
    	<td>data</td>
  </tr>
";
$sql="(";$or=""; foreach ($_POST["country"] as $c){ $sql.=" $or ID=$c  "; $or="or";} $sql.=") ";
$sql.=" and (";$or=""; foreach ($_POST["types"] as $c){ $sql.=" $or Indicator=$c  "; $or="or";} $sql.=") ";
$sql.=" and (";$or=""; foreach ($_POST["yesrs"] as $c){ $sql.=" $or 2000=$c  "; $or="or";} $sql.=") ";
$sql_result=mysql_query("select * from maindata3$ where $sql");
while ($row_result = mysql_fetch_array($sql_result, MYSQL_BOTH)) {
    	$echo.="
  <tr>
    	<td>".get_sql("countries",$row_result["ID"])."</td>
    	<td>".get_sql("types",$row_result["Indicator"])."</td>
    	<td>".get_sql("yesrs",$row_result["2000"])."</td>
    	<td>".$row_result["data_info"]."</td>
  </tr>
";
}


    	$echo.="</table>";
    	echo $echo;
exit();
}

?>
<form method="post"> 
please select<br /> 
<select name="country[]" size="5" multiple="multiple"> 
<?php echo $countries; ?> 
</select> 
<br /><br /> 
please select<br /> 
<select name="types[]" size="5" multiple="multiple"> 
<?php echo $types; ?> 
</select> 
<br /><br /> 
please select<br /> 
<select name="yesrs[]" size="5" multiple="multiple"> 
<?php echo $yesrs; ?> 
</select> 
<br /><br /> 

<input type="submit" value="search" /> 

</form>

cosdat_test.zip

تم تعديل هذه المشاركة بواسطة muzamil87 في 31 يوليو 2010 في 12:02

#29

السلام عليكم

تمكنت من ربط الجدول الاخير وذلك لاظهار السنين

الان اصبحت المشكله في اظهار النتائج للاختيارات التي يقوم بها المستخدم

المفترض ان تظهر البيانات في جدول كما في صوره في المرفقات

وهذا هو الكود المستخدم:

<?php
//connect mysql
error_reporting(0);
define('db_host', 'localhost');
define('db_name', 'cosdat_test');
define('db_user', 'root');
define('db_pass', '');
$link = mysql_connect(db_host,db_user,db_pass)or die ('I cannot connect to the database because: ' . mysql_error());
$db_selected = mysql_select_db(db_name, $link);

function get_sql($table,$id){
    	$f=mysql_fetch_array(mysql_query("select $table from $table where id=$id"));
    	return $f[0];
}
$countries="";// for hacks!
$sql_countries=mysql_query("SELECT * FROM countryseries");
while ($row_countries = mysql_fetch_array($sql_countries, MYSQL_BOTH)) {
    	$countries.="<option value='$row_countries[0]'>$row_countries[1]</option>\n\r";
}

$types="";// for hacks!
$sql_types=mysql_query("select * from indicatorvariable$");
while ($row_types = mysql_fetch_array($sql_types, MYSQL_BOTH)) {
    	$types.="<option value='$row_types[0]'>$row_types[1]</option>\n\r";
}

$yesrs="";// for hacks!
$sql_yesrs=mysql_query("select * from yearlist");
while ($row_yesrs = mysql_fetch_array($sql_yesrs, MYSQL_BOTH)) {
    	$yesrs.="<option>$row_yesrs[Years]</option>\n\r";
}

if($_POST["country"] && $_POST["types"] && $_POST["yesrs"]){
    	$echo="<table width='100%' border='1'>
  <tr style='background:#333;color:#fff'>
    	<td>Country</td>
    	<td>Indicator</td>
    	<td>Unit</td>
    	<td>data</td>
  </tr>
";
$sql="(";$or=""; foreach ($_POST["country"] as $c){ $sql.=" $or Country=$c  "; $or="or";} $sql.=") ";
$sql.=" and (";$or=""; foreach ($_POST["types"] as $c){ $sql.=" $or Indicator=$c  "; $or="or";} $sql.=") ";
$sql.=" and (";$or=""; foreach ($_POST["yesrs"] as $c){ $sql.=" $or Year=$c  "; $or="or";} $sql.=") ";
$sql_result=mysql_query("select * from maindata3$ where $sql");
while ($row_result = mysql_fetch_array($sql_result, MYSQL_BOTH)) {
    	$echo.="
  <tr>
    	<td>".get_sql("countries",$row_result["Country"])."</td>
    	<td>".get_sql("types",$row_result["Indicator"])."</td>
    	<td>".get_sql("yesrs",$row_result["Year"])."</td>
    	<td>".$row_result["data_info"]."</td>
  </tr>
";
}


    	$echo.="</table>";
    	echo $echo;
exit();
}

?>
<form method="post"> 
please select<br /> 
<select name="country[]" size="5" multiple="multiple"> 
<?php echo $countries; ?> 
</select> 
<br /><br /> 
please select<br /> 
<select name="types[]" size="5" multiple="multiple"> 
<?php echo $types; ?> 
</select> 
<br /><br /> 
please select<br /> 
<select name="yesrs[]" size="5" multiple="multiple"> 
<?php echo $yesrs; ?> 
</select> 
<br /><br /> 

<input type="submit" value="search" /> 

</form>

post-210278-055428800 1280642331_thumb.j

المرفقات
result.JPG
#30

السلام عليكم

واخيرا ولله الحمد وبعد عناء كبير بالنسبه لي كمبتدأ, تم ربط الجداول بقاعدة البيانات التي لدي, وهذا هو الكود للفائده العامه

<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("cosdat_test",$con);
if(isset($_POST["search"]))
{
	$cntry=$_POST["country"];
	//echo $cntry;
	$sql="(";
	$size=sizeof($cntry) - 1;
	if(is_array($cntry))
	{
	foreach($cntry as $key=>$c)
	{
		if($key==$size)
		{
			$sql= $sql." Country='".$c."')";
		}
		else
		{
		$sql= $sql." Country='".$c."' or";
		}
	}
	}
	$sql2=" and (";
	$ind=$_POST["indi"];
	$size2=sizeof($ind) - 1;
	if(is_array($ind))
	{
	foreach($ind as $key2=>$c2)
	{
		if($key2==$size2)
		{
			$sql2= $sql2." Indicator='".$c2."')";
		}
		else
		{
		$sql2= $sql2." Indicator='".$c2."' or";
		}
	}
	}
	$y="";
	$yr=$_POST["years"];
	$size3=sizeof($yr) - 1;
	if(is_array($yr))
	{
	foreach($yr as $key3=>$c3)
	{
		if($key3==$size3)
		{
			$y= $y."`".$c3."`";
		}
		else
		{
		$y= $y."`".$c3."`".",";
		}
	}
	}
	$full_sql= $sql.$sql2;
	//echo $full_sql;
	//echo $y;
	//$test = "select Country,Indicator,Unit,Currency,$y from maindata3$ where $full_sql";
	//echo $test;
	$r=mysql_query("select Country,Indicator,Unit,Currency,$y from maindata3$ where $full_sql");

}
//echo $r;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <p>Please Select</p>
  <p>
  <?php $cn=mysql_query("select * from countryseries");?>
	<select name="country[]" size="5" multiple="multiple" >
	<?php

	while($row_cn=mysql_fetch_array($cn))
	{
		?>
  	<option value="<?php echo $row_cn["Country"]; ?>"><?php echo $row_cn["Country"]; ?></option>
  	<?php
	}
	?>
	</select>
  </p>
  <p>
  <?php $inds=mysql_query("select * from indicatorvariable$");?>
	<select name="indi[]" size="5" multiple="multiple" id="indi[]">
	<?php

	while($row_ind=mysql_fetch_array($inds))
	{
		?>
  	<option value="<?php echo $row_ind["Indicator"]; ?>"><?php echo $row_ind["Indicator"]; ?></option>
  	<?php
	}
	?>
	</select>
  </p>
  <p>
  <?php $yrs=mysql_query("select * from yearlist");?>
	<select name="years[]" size="5" multiple="multiple" id="years[]">
	<?php

	while($row_yrs=mysql_fetch_array($yrs))
	{
		?>
  	<option value="<?php echo $row_yrs["Years"]; ?>"><?php echo $row_yrs["Years"]; ?></option>
  	<?php
	}
	?>
	</select>
  </p>
  <p>
	<input type="submit" name="search" id="search" value="Search" />
  </p>
</form>
<?php
if(isset($_POST['search']))
{
	?>
<table width="75%" border="1" cellspacing="0" cellpadding="0">
  <tr>
	<td><strong>Country</strong></td>
	<td><strong>Indicator</strong></td>
	<td><strong>Units</strong></td>
	<td><strong>Currency</strong></td>
	<?php 
	foreach($yr as $yy)
	{ ?>
	<td><strong><?php echo $yy; ?></strong></td>
	<?php } ?>
  </tr>
  <?php
  while($row=mysql_fetch_array($r))
  {
	  ?>

  <tr>
	<td><?php echo $row['Country']; ?></td>
	<td><?php echo $row["Indicator"]; ?></td>
	<td><?php echo $row["Unit"]; ?></td>
	<td><?php echo $row["Currency"]; ?></td>
	<?php 
	foreach($yr as $yy2)
	{ 
	$yyy= $yy2;
	?>
	<td><?php echo $row["$yyy"]; ?></td>
  <?php 
  } ?>
  </tr>
  <?php } ?>
</table>
<?php } ?>
<p> </p>
</body>
</html>

لدي استفسار بسيط

هل يمكنني عرض النتائج في ملف excel ؟

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…