Birkaç PHP / MySQL soruları

3 Cevap php

Ben bir üniversite öğrencisi php ve mysql progamming bir ders alarak ve benim ilk soru aşağıdaki kodda "$ değişkeni" değişkenleri hakkında duyuyorum:

<?php ob_start(); ?>

<?php

session_start();

if ($_SESSION['auth'] != "true")
{ header("Location: login.php");
  exit;
}

$uid = $_SESSION['user'];

$connection = mysql_connect("localhost", "username", "password");

mysql_select_db("username", $connection);

$result = mysql_query ( "SELECT * FROM users where user_id = '$uid'", 
$connection);

$num = mysql_numrows($result);

$i=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"firstname");
$f2=mysql_result($result,$i,"lastname");
?>

<html><body>
<p>
<td><center><font size = "18" face="Arial"><?php echo "Name: $f1 "; echo $f2; ?> </font></center></td>
</p>
</body></html>

<?php
$i++;
}
?>


<?php

$result1 = mysql_query ( "SELECT * FROM phone where user_id = '$uid'", $connection);

$num1 = mysql_numrows($result1);

$j=0;
while ($j < $num1) {
$f3=mysql_result($result1,$j,"type");
$f4=mysql_result($result1,$j,"number");
?>

<html><body>
<p>
<br>
<td><center><font size = "12" face="Arial"><?php echo "$f5: "; echo "($f3) "; echo "$f4 <br />"; ?> </font></center></td>
</p>
</body></html>

<?php
$j++;
}
?>

<?php

$result2 = mysql_query ( "SELECT * FROM address where user_id = '$uid'", $connection);

$num2 = mysql_numrows($result2);

$h=0;
while ($h < $num2) {
$f6=mysql_result($result2,$h,"type");
$f7=mysql_result($result2,$h,"address");
$f8=mysql_result($result2,$h,"city");
$f9=mysql_result($result2,$h,"state");
$f10=mysql_result($result2,$h,"zip");
?>

<html><body>
<p>
<br>
<td><center><font size = "12" face="Arial"><?php echo "$f10 Address: $f6, $f7, $f8 $f9"; ?></font></center></td>
</p>
</body></html>

<?php
$h++;
}
?>

<?php

include 'navbar.php';

ob_end_flush();

?>

Ben sadece gerçekten tüm $ değişkenleri anlamıyorum. Onlar kullanıcı tarafından oluşturulmuş ya da veritabanında varlıklardır? Ve nasıl kod hangisi $ sonuç biliyor?

Benim ikinci soru bu benim sınıfın kodunda başka birisi olduğunu ve bu benim kendi yapmak için değiştirmek ve kendi değişkenleri yerine istedim eğer, ben bunu nasıl yapıyor hakkında gitmek istiyorum, bu nedir? Onlar eğer öyleyse, nasıl kullanıcı-tanımlı değildir ve eğer $ değişkenlerin değiştirilmesi gerekiyor mu? Bu aptal sorular varsa ben özür dilerim, ama ben bu programlama dili bir acemi. Yardımlarınız için şimdiden teşekkür ederiz.

-Jeff

3 Cevap

In PHP you don't need to define the variables and neither the var type. That's mean that the variable declaration is implicit in any new assignment. The $ symbol it's used by PHP to understand that it's a variable.

Örnek:

$result = mysql_query ( "SELECT * FROM users where user_id = '$uid'", $connection);

Bu hat ile temelde 3 şeyler:

  1. $ Sonuç adında yeni bir değişken tanımlayın
  2. Bu durumda, result type of your function, bir kaynak göre değişken türünü ayarlama
  3. Değişkene işlevin sonucu atayın.

Eğer PHP variables ve aynı zamanda === operatörü hakkında daha fazla bilgi için types php.net üzerine, ilginç olabilir hakkında daha fazla bilgi edinebilirsiniz

bir dahaki sefere, postanıza kod etiketi kullanın misiniz? :)

temelde, sadece bilmek gerekir.) değişkenleri kod parçası olan ve $ değişkenler önlerinde dolar işaretleri ile veritabanı kişiler hangi $ olan

Cevap all değişkenleri kod parçası olmasıdır. Bir "önünde bir dolar işareti ile veritabanı varlık" gibi bir şey yoktur.

value değişken tutan de farklı anlamlar ve farklı kökenleri olabilir. Her değişken için kullanılır ne bilmek için, kodu okumak ve anlamak gerekir. Bazen bir değişken birden fazla amaç için kullanılır. Orada bir değişken için kullanılır ne belirlemenize yardımcı olabilecek değişkenler etrafında bazı sözleşmeler.

$num = mysql_numrows($result);   // obviously holds the total number of rows
$i = 0;   // may be obscure, but "i" is often used as a counter in loops

while ($i < $num) {

    // very bad names for variables,
    // but it's pretty obvious what kind of value they hold here.
    $f1 = mysql_result($result, $i, "firstname");  // notice your friend $i again
    $f2 = mysql_result($result, $i, "lastname");

    // $firstname and $lastname would have been better names and
    // and would make the rest of the code easier to understand.

    ...

    $i++;  // yup, it's a loop counter after all
}

İyi değişken isimlendirme kod okunabilir hale uzun bir yol gidiyor ve sahip olanlar gibi sorular kaçının. Sen sadece kolayca değişkenleri "yerine" mümkün olmayacak, hepsi genel algoritma parçası konum, her programda yeri var. Bazı "sadece veri tutmak" döngü sayaçları ve diğerleri gibi, programın yapısına daha fazla "ayrılmaz" olmakla birlikte, her ikisi de ihtiyaç vardır. Veri tutun değişkenler echo ed olduğunuzda gibi, app noktada ihtiyaç olacaktır. Sadece aynı, döngü sayaçları da gereklidir.

Sadece uygun adlandırma farklı değişkenler kullanımlar arasında analitik yöntemlerle ayırt yardımcı olabilir. Erken açık bir adlandırma kuralı alışın, ayrıntılı olması için korkmayın. $customerFirstName Bu durumda $f2, iyi bir değişken adıdır değildir. $i döngüler için tamam, $num $totalRows olarak daha iyi olabilir.

Ben bazı basit php öğretici, f.ex çalışma öneririm this w3schools.com de. Ben php öğrenmeye başladım o zaman beni çok yardımcı oldu. Yarım saat içinde size çok şey öğrenebilir ve size dostum kodu anlamak mümkün olacaktır.