سلام دوستان نحوه جستجو عبارات فارسی به چه صورته در دیتابیس
میشه یه نوع کد بزارید که یه تکس باکس باشه و اطلاعات رو بر اساس نام جستجو کنه و نمایش بده و عبارات فارسی رو هم پشتیبانی کنه
سلام دوستان نحوه جستجو عبارات فارسی به چه صورته در دیتابیس
میشه یه نوع کد بزارید که یه تکس باکس باشه و اطلاعات رو بر اساس نام جستجو کنه و نمایش بده و عبارات فارسی رو هم پشتیبانی کنه
utf8_persian_ci این مورد در هر دو جدول ست شده
یک فیلد رو میخوام جستجو کنم و بعد از جستجو تو جدول نمایش بدم ممنون میشم کوئری شو برام بنویسید
کد سرچ رو نوشتم منتها دستوران فارسی رو پشتیبانی نمیکنه و میخوام بعد از جستجو کل اطلاعات رکورد جستجو شده رو تو جدول نمایش بدم
<?php include("config.php"); ?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
if(isset($_POST["btn"]))
{
if(empty($_POST["id"]) || empty($_POST["name"]))
{
echo"کادری خالی است";
}
else
{
$sql="select count(*) from prodact where id=? and name=?";
$resualt=$connect->prepare($sql);
$resualt->bindValue(1,$_POST["id"]);
$resualt->bindValue(2,$_POST["name"]);
$resualt->execute();
$num=$resualt->fetchColumn();
if($num==1)
{
echo"کابر مورد نظر پیدا شد";
}
else
{
echo"همچین کاربری در بانک موجود نمی باشد.";
}
}
}
?>
<form id="form1" name="form1" method="post">
<p>
<label for="textfield">id:</label>
<input type="text" name="id" id="id">
</p>
<p>
<label for="textfield2">name:</label>
<input type="text" name="name" id="name">
</p>
<p>
<input type="submit" name="btn" id="btn" value="Search">
</p>
</form>
<p> </p>
</body>
</html>
دستور زیر را قبل از prepare بذار:
$connect->exec("SET CHARACTER SET utf8");
این دستورات رو بذار قبل از حلقه:
echo '<table dir="rtl" border="1">';
echo '<tr><th>عملیات</th><th>عنوان</th><th>متن</th></tr>';
اینم بذار داخل حلقه:
echo "<tr>";
$id=$row['id'];
echo '<td><a href="update.php?id='.$row['id'].'"><img src="edit.gif"></a></td>';
$title=$row['title'];
echo "<td>$title</td>";
$msg=$row['msg'];
echo "<td>$msg</td>";
echo "</tr>";
اینم بذار بعد از حلقه:
echo "</table>";
داداش به این صورت نوشتم خطا میده
<?php include("config.php"); ?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
if(isset($_POST["btn"]))
{
if(empty($_POST["id"]) || empty($_POST["name"]))
{
echo"کادری خالی است";
}
else
{
$sql="select count(*) from prodact where id=? and name=?";
$connect->exec("SET CHARACTER SET utf8");
$resualt=$connect->prepare($sql);
$resualt->bindValue(1,$_POST["id"]);
$resualt->bindValue(2,$_POST["name"]);
$resualt->execute();
$num=$resualt->fetchColumn();
echo '<table dir="rtl" border="1">';
echo '<tr><th>Name</th><th>Price</th><th>Information</th></tr>';
if($num==1)
{
echo "<tr>";
$id=$num['name'];
echo "<td>$id</td>"
}
else
{
echo"همچین کاربری در بانک موجود نمی باشد.";
}
}
}
?>
<form id="form1" name="form1" method="post">
<p>
<label for="textfield">id:</label>
<input type="text" name="id" id="id">
</p>
<p>
<label for="textfield2">name:</label>
<input type="text" name="name" id="name">
</p>
<p>
<input type="submit" name="btn" id="btn" value="Search">
</p>
</form>
<p> </p>
</body>
</html>
از echo "<td>$id</td>"
خطا میگیره
توی سیستم خودم امتحان کردم :
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>فرم</title>
</head>
<body>
<form id="form1" name="form1" method="post">
<p>
<label for="textfield">id:</label>
<input type="text" name="id" id="id">
</p>
<p>
<label for="textfield2">name:</label>
<input type="text" name="name" id="name">
</p>
<p>
<input type="submit" name="btn" id="btn" value="Search">
</p>
</form>
<?php
if(isset($_POST["btn"]))
{
if(empty($_POST["id"]) || empty($_POST["name"]))
{
die("کادری خالی است");
exit;
}else{
$id=$_POST["id"];
$name=$_POST["name"];
$connect = new PDO('mysql:host=localhost;dbname=test','root','');
$connect->exec("SET CHARACTER SET utf8");
$resualt=$connect->prepare("select * from `ravand` where id=:id AND name=:name");
$resualt->bindParam(':id', $id, PDO::PARAM_INT);
$resualt->bindParam(':name', $name, PDO::PARAM_STR);
$resualt->execute();
$rows = $resualt->fetchAll();
//تعداد رکوردها
$num_rows = COUNT($rows);
if($num_rows==0){
echo "مقداری وجود ندارد";
}else{
echo '<table dir="rtl" border="1">';
echo '<tr><th>شماره</th><th>نام</th><th>نام خانوادگی</th></tr>';
$resualt->execute();
foreach($resualt as $row) {
echo "<td>".$row['id']."</td>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['lastname']."</td>";
}
}
}
}
?>
</body>
</html>
مرسی داداش درست شد یه سوال من نمیدونم کی باید از
()fechcolumn
()fetchAll
استفاده کنم یکم در این باره توضیح میدی در کجا ها باید از اینا استفاده کرد؟
برای جستجو بین دو تاریخ باید چیکار کنم؟
fetchColumn :
<?php
$db = new PDO('mysql:host=localhost;dbname=test','root','');
$db->exec("SET CHARACTER SET utf8");
$pics = $db->query('SELECT * FROM ravand');
$totalpics = $pics->fetchColumn(2);
echo $totalpics;
$db = null;
?>
وقتی عدد 2 بهش میدیم مقدار سومین فیلد را بهمون نشون میده.
$connect = new PDO('mysql:host=localhost;dbname=test','root','');
$connect->exec("SET CHARACTER SET utf8");
$resualt=$connect->prepare("select * from `ravand`");
$resualt->execute();
print_r($resualt->fetchAll());
تفاوت بین fetch و fetchall در pdo :
fetchall همه رکوردهای برگشتی رو یک جا به صورت ارایه برگشت می ده اما fetch در هر بار یک سطر رو برگشت می ده.
بین دو تاریخ:
SELECT * FROM `tarikh` WHERE tarikh BETWEEN :az AND :ta