آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد تفریق یک فیلد

علی  10 سال پیش  10 سال پیش
0 0

سلام:

این چرا مقدار row رو نمیگیره؟

$result1 = mysqli_query($connection,  "SELECT Price_layers.price FROM Price_layers");
$sqlq1=mysql_Query($result1);
$row=mysql_fetch_array($sqlq1);

$sum1 = 300;
$sum2 = $row['price'];
$sum = $sum2 - $sum1;
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
MOJTABA  10 سال پیش
+1 0

من برای گرفتن اطلاعات از دیتابیس کد زیر رو نوشتم: 

  $connection = new mysqli($host,$user,$pass,$name);
  $sql = "SELECT Price_layers.price FROM Price_layers";
  $result = $connection->query($sql);
  $record = array();
  if($result->num_rows == 0)
    echo "Empty";
    exit;
  while($row = $result->fetch_assoc())
  {
    $record[]=$row;
  }

اما توی record$ یک آرایه داریم که به این شکل ذخیره میشه :

Array
(
    [0] => Array
        (
            [price] => 1000
        )

    [1] => Array
        (
            [price] => 2700
        )

    [2] => Array
        (
            [price] => 3500
        )

    [3] => Array
        (
            [price] => 400
        )

و برای انجام عمل محاسباتی باید به شکل زیر عمل بشه:

  $sum1 = 300;
  $sum2 = $record[0]['price'];// 0 1 2 3
  $sum = $sum2 - $sum1;

که با یه foreach میشه همه ی خونه های آرایه رو پیمایش کرد

پاسخ به سوال 
علی  10 سال پیش
0 0

درست بود کد بالا . حالا اگه بخوام این دو تا select رو یکی کنم و جدا از هم نباشه به چه صورته؟

$result= mysqli_query($connection,  "SELECT services.layer FROM services WHERE User_login='$User_login'");
$result= mysqli_query($connection,  "SELECT Price_layers.type_layer FROM Price_layers");
0 0
میخواین لایه یوزر رو بفهمین بعد قیمت اون لایه رو از جدول دیگه ای بدست بیارین؟ (10 سال پیش)
0 0
آره مجتبی جان . در اولی یه لایه دارم و یه یوزر که باید یوزر چک بشه و در دومی یه لایه دیگه دارم که می خوام لایه اولی با دومی هم مقایسه بشه و اگر با هم یکی بود اون کد بالا که زحمت کشیدین اجرا شه. (10 سال پیش)
0 0
آقا علی ! از کدوم فیلد جدول دوم توی جدول اول استفاده کردین؟ (10 سال پیش)
0 0
type_layer مجتبی جان . منظورمو بد رسوندم ؟ (10 سال پیش)
0 0
User_login فیلد جدول services هست؟ (10 سال پیش)
0 0
بله مجتبی جان . یوزر از سمت اندروید میاد و چک میشه (10 سال پیش)
پاسخ به سوال 
MOJTABA  10 سال پیش
0 0

علی آقا با توجه به اطلاعاتی که بهم دادین این کد به احتمال زیاد کارتون رو راه میندازه:

 SELECT Price_layers.type_layer
 FROM services
 LEFT OUTER JOIN Price_layers ON services.layer = Price_layers.type_layer
 WHERE services.User_login='$User_login'
پاسخ به سوال 
علی  10 سال پیش
0 0

طبق جدول های من که اینجوری میشه ولی پیغام میزنه n 

جدول services شامل : layer , User_login

جدول Price_layers شامل :  type_layer , price 

 $User_login = $_REQUEST['User_login'];
$resultt = mysqli_query($connection,"SELECT services.layer FROM services LEFT OUTER JOIN Price_layers ON Price_layers.type_layer = services.layer 
WHERE services.User_login='$User_login'"); if($resultt){ echo "y"; }else{ echo "n"; }
0 0
User_login رو دستی امتحان کردید؟ --- جای 2 جدول قبل و بعد LEFT رو عوض کنید ببینید درست میشه. (10 سال پیش)
0 0
فیلد مشترک بین 2 جدول layer و type_layer هست؟ (10 سال پیش)
0 0
نه درست نشد متاسفانه . (10 سال پیش)
0 0
آره فیلد مشترکه . باید مشترک اوکی باشه تا بتونم قیمت رو که price هست در جدول Price_layers بکشم بیرون و منفی 300 کنم. (10 سال پیش)
+1 0
syntax این جوریه که بعد ON فیلد های مشترک قرار می گیرن و WHERE هم که کارش معلومه و جای LEFT می تونید RIGHT و جای INNER هم میتونید OUTER بذارید و این جابجایی ها مربوط به قوانین مجموعه هاست : لینک (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .