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

إضافة و استرجاع بيانات من قاعدة البيانات

بدأه mano0ora في 31 مايو 2011 · 9 رد · 1,491 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكله في إضافة البيانات إلى قاعدة البيانات

عندي حقلين للنصوص

المفروض ياخذ قيمه الحقلين و يدخلهم في قاعدة البيانات

المشكله ان تنضاف قاعدة البيانات قيود خاليه مافيها القيمه اللي دخلها اليوزر بالحقول

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

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("Clinic", $con);
$name=$_POST[p_name];
$cpr=$_POST[cpr];
$sql="INSERT INTO patients (P_name, cpr)
VALUES
('$name','$cpr')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }


mysql_close($con)

السؤال الثاني

ابي استرجع قيمه آخر قيد في قاعده البيانات فقط

شنو الكويري اللي لازم اكتبه ؟

وعندي سؤال ثالث :$

لو عندي مجموعه radio buttons و select box

ابي الاختيار اللي يختاره اليوزر يتخزن في قاعده البيانات و استرجع النتائج على شكل جدول

شلون ممكن آخذ قيمه الريديو بتنز و السلكت بوكس اللي يختاره اليوزر ؟

وشكرا :)

#2

1-

$name=$_POST['p_name'];
$cpr=$_POST['cpr'];

وتأكدي من أن البيانات المرسلة للصفحة تذهب بطريقة POST.

2-

هناك طريقتين، الأولى بإضافة عمود ثالث للجدول ليكن مثلاً ID وتزداد قيمته بشكل آلي بمقدار 1 ... auto increment

في هذه الحالة يكون الاستعلام

select * from patients order by id desc limit 0,1

الطريقة الثانية تكون من خلال حساب عدد السجلات في الجدول، باستخدام count()

select count (P_name) from patients

ومن ثم يمكن جلب قيم السجل المضاف أخيراً باستخدام LIMIT و OFFSET

select * from patients limit 1 offset 17

وذلك بفرض أن count() أعطتنا القيمة 18 (السجلات تبدأ بالإزاحة 0)

لم أجرب استخدام subquery بالشكل التالي، ربما ينفع.. جربيه:

select * from patients limit 1 offset (select sum(count(P_name)-1) from patients)

3-

ذات الطريقة مع تعديلات بسيطة،

لنفرض لدينا الـ select box بالشكل التالي:

<select name="select_tag">
<option value="1">first</option>
<option value="2" selected>second</option>
</select>

والذي سيظهر الخيار الثاني محدد مسبقاً بسبب عبارة selected.. المهم،

عندما يقوم المستخدم بإرسال معلومات النموذج بالضغط على Submit، فإنه يتم إرسال القيمة بالشكل: select_tag=2 بناء على نوع الطلب المناسب (POST, GET) الذي حدده المبرمج.

بالتالي يمكنك ببساطة تخزين القيمة من خلال قراءة التالي مثلاً،

$_POST['select_tag']

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3
اقتباس

$name=$_POST['p_name'];

$cpr=$_POST['cpr'];

وتأكدي من أن البيانات المرسلة للصفحة تذهب بطريقة POST.

بعد نفس المشكله =(

باقي الامور انحلت الحمدلله

بس اول مشكله =(

#4

هاتي كود الفورم الذي يقوم بإرسال البيانات إلى الصفحة التي وضعت شيفرتها في الأعلى.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5
  <form method = "POST"  action = "patients.php" >
  Patient name : <input type="text" size="20" name="p_name"></br>
  CPR NO. : <input type="text" size="9" name="cpr"></br>
  <input type="submit" value="   Next   " name="next">
  </form>
#6

النموذج سليم.

طيب لنقم بتجربة، ليرسل النموذج بياناته إلى test.php بدلاً من patients.php

في test.php ضعي التالي:

<?php echo $_POST['p_name'] . '
' . $_POST['cpr']; ?>

ما نتيجة طلب النموذج ؟

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

يعرض النتائج مثل ما دخلتها ^_^

هل ممكن المشكله من ملف الـ patients.php ؟

#8
mano0ora كتب:

هل ممكن المشكله من ملف الـ patients.php ؟

نعم

ضعي كوده كاملاً لو أمكن.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9
<form method = "POST"  action = "patients.php" >
  <input type = "hidden"  name = "stage"  value = "1" />

</h3>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("Clinic");

$result = mysql_query("SELECT * FROM patients ORDER BY id DESC LIMIT 1");

echo "<table border='1'>
<tr>
<th>Patients name</th>
<th>cpr</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['P_name'] . "</td>";
  echo "<td>" . $row['cpr'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
#10

عفواً، أنا أتكلم عن الصفحة التي تحوي الكود التالي:

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("Clinic", $con);
$name=$_POST[p_name];
$cpr=$_POST[cpr];
$sql="INSERT INTO patients (P_name, cpr)
VALUES
('$name','$cpr')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }


mysql_close($con)

هل من الممكن توضيح أسماء الصفحات التي تحوي كل كود حتى لا أتوه بينها وحتى أعلم كل نموذج من أين وإلى أين يرسل بياناته.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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

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

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

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

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