php
  • mysql
  • variables
  • if-statement
  • condition
  • 2013-05-04 32 views 5 likes 
    5

    Tôi đang cố gắng thực hiện kiểm tra trước khi dữ liệu chèn vào truy vấn MySQL. Đây là mã;Nếu biến bằng giá trị php

    $userid = ($vbulletin->userinfo['userid']); 
    $sql3 = mysql_query("SELECT * FROM table WHERE ID='$_POST[hiddenID]'"); 
    
    while ($row = mysql_fetch_array($sql3)){ 
    
    $toon = $row['toonname']; 
    $laff = $row['tlaff']; 
    $type = $row['ttype']; 
    
    if ($type == 1){ 
    $type == "Bear"; 
    } elseif ($type == 2){ 
    $type == "Cat"; 
    } elseif ($type == 3){ 
    $type == "Dog"; 
    }    
    
    } 
    

    Tuy nhiên, tính năng này không hoạt động. Về cơ bản, có các giá trị khác nhau trong 'bảng' cho từng loại. 1 có nghĩa là Gấu, 2 có nghĩa là Mèo và 3 có nghĩa là Chó.

    Nhờ bất kỳ ai có thể giúp xem sự cố trong tập lệnh của tôi!

    +2

    Bạn cần phải tìm hiểu thêm giữa assigment '=', bình đẳng '== 'và' ===' nhà khai thác bản sắc – samayo

    +0

    Sử dụng một mảng thay vì 'if' . – hakre

    Trả lời

    14

    Bạn đang so sánh, không gán:

    if ($type == 1){ 
        $type = "Bear"; 
    } 
    

    Bạn so sánh giá trị với == hoặc ===.

    Bạn chỉ định giá trị với =.

    Bạn cũng có thể viết ít mã hơn để đạt được kết quả tương tự, với tuyên bố switch hoặc chỉ một loạt if mà không có elseif giây.

    if ($type == 1) $type = "Bear"; 
    if ($type == 2) $type = "Cat"; 
    if ($type == 3) $type = "Dog"; 
    

    tôi sẽ làm một chức năng cho nó, như thế này:

    function get_species($type) { 
        switch ($type): 
         case 1: return 'Bear'; 
         case 2: return 'Cat'; 
         case 3: return 'Dog'; 
         default: return 'Jeff Atwood'; 
        endswitch; 
    } 
    
    $type = get_species($row['ttype']); 
    
    3

    Bạn đang sử dụng == thay vì =. Nó so sánh biến với giá trị mới. Sử dụng = để đặt giá trị.

    if ($type == 1){ 
    $type = "Bear"; 
    } elseif ($type == 2){ 
    $type = "Cat"; 
    } elseif ($type == 3){ 
    $type = "Dog"; 
    } 
    
    1

    Bạn đang sử dụng == để gán giá trị:

    $type == bear;

    nên là:

    $type = bear;

    0
    if ($type == 1) {$displayVar = "Bear";} 
    

    Ví dụ:

    <form method="post" action="results.php"> 
    How many horns does a unicorn have? <br /> 
    <input type="text" name="inputField" id="inputField" /> <br /> 
    <input type="submit" value="Submit" /> <br /> 
    </form> 
    

    Kết quả:

    <?php 
    $inputVar = $_POST["inputField"]; 
    if ($inputVar == 1) {$answerVar = "correct";} 
    else $answerVar = "<strong>not correct</strong>"; 
    ?> 
    <?php 
    echo "Your answer is " . $answerVar . "<br />"; 
    ?> 
    

     Các vấn đề liên quan

    • Không có vấn đề liên quan^_^