یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام دوستان وقتتون بخیر باشه .
من در حال تمرین مربوط به php هم و برای خودم پروژه های کوچیک ایجاد و تعریف کردم .
این پروژه من درباره ایجاد یک فرم جستجوی ساده و اتصال به دیتابیس و در نهایت نمایش خروجی می باشد .
خروجی و نتایج به درستی برای من نمایش داده می شود . اما مشکلی که دارم در این هست که قبل از اینکه من درون فرم جستجوی خودم چیزی وارد کنم چون در بخش پایین فرم برای فراخوانی نتایج از حلقه while استفاده کردم بهم بعد از لود شدن صفحه ارور های زیر رو نمایش می دهد :
Notice: Undefined variable: row in E:\xampp\htdocs\php\09\form.php on line 27
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in E:\xampp\htdocs\php\09\form.php on line 27
دلیلش هم مشخص هست چون هنوز فرمی به سمت سرور ارسال نشده در نتیجه نمیتونه متغیر row را شناسایی کنه . پیشنهادتون برای این موضوع چی هست ؟ قبل از حلقه while از دستور if isset استفاده کنم یا مورد بهتر و تمیز تری سراغ دارید ؟
کدهای مربوط به فرم هم به صورت زیر هست :
<?php
if(isset($_POST['btn'])){
$str=$_POST['str'];
//echo $str;
$a=mysqli_connect("localhost","root","","php_test");
$sql="SELECT * FROM users_tbl WHERE name LIKE '%$str%'";
$row=mysqli_query($a,$sql);
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="post">
<input type="text" name="str" />
<select>
<option>name</option>
<option>lastname</option>
</select>
<input type="submit" name="btn" />
</form>
<ul>
<?php
while($res=mysqli_fetch_array($row)){
echo "<li>".$res['name']."</li>";
}
?>
</ul>
</body>
</html>
ممنون از همگی دوستان🙏
سلام وقتتون بخیر!
حله ها رو اگر بررسی کنی میبینید که تا زمانی اجرا میشن که شرطشون صحیح باشه!
پس میتونید بگید!
while(!empty($row) and $res=mysqli_fetch_array($row)){
echo "<li>".$res['name']."</li>";
}
پشنهاد من این هست که از PDO استفاده کنید و برای پیمایش هم میتونید از حلقه foreach استفاده کنید.
من الان نمیدونم داخل متغیر res چی هست شاید اون رو هم بشه با foreach نوشت
if(isset($_POST['btn'])){
if(empty($row)){
echo " ";
}else{
while($res=mysqli_fetch_array($row)){
echo "<li>".$res['name']."</li>";
}
}
}else{
echo " ";
}
سلام وقتتون بخیر!
حله ها رو اگر بررسی کنی میبینید که تا زمانی اجرا میشن که شرطشون صحیح باشه!
پس میتونید بگید!
while(!empty($row) and $res=mysqli_fetch_array($row)){
echo "<li>".$res['name']."</li>";
}
پشنهاد من این هست که از PDO استفاده کنید و برای پیمایش هم میتونید از حلقه foreach استفاده کنید.
من الان نمیدونم داخل متغیر res چی هست شاید اون رو هم بشه با foreach نوشت
سلام
روش درست اینه که شما ابتدا بیای اون دیتا رو از دیتابیس سلکت کنی و توی صفحه نشه بدی بعد با استفاده از فرم اون دیتا رو فیلتر کنی و برگردونی.
بسیار هم عالی
اون قسمت رو خیلی خوب بخونید!
مهم ترین قسمت اتصال به دیتابیس هست.
برنامه نویسی فقط سفید کردن صفحه های سیاه نیست! یک سبک از زندگی هست به اون عادت کنید
سلام ممنون از محتوا و نظرات خوبتون
چطوری میشه دو یا چند تا متغییر رو برای چند تا ستون سرچ کرد مثلا بگیم توی ستون تایتل اونایی که خرید هستش رو بگیر و از بخش استاتوس اونایی که خرید شده هستش رو انتخاب بکن و برام بیار که انگار دامنه سرچ رو دوبار انجام میدیم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟