dpqg86714 2012-07-10 15:31
浏览 96
已采纳

如何从PHP中的函数访问while循环中的变量?

I want to access the $name variable, which is defined in a while loop, in a function named sendMail. Would I have to somehow incorporate the function within the loop?

<?php
while ($row = mysql_fetch_assoc($result))
{
    print_r($row); echo "<br><br>";
    $name = $row['Name'];
    $date = $row['sDate'];
    $time = $row['sTime'];
    $phone = $row['Phone'];

    $email = $row['Email'];
    sendMail($row['Email']);

    $company = $row['Company'];
    $course = $row['Course'];
    $ref = $row['Reference'];
    $optout = $row['optout'];

    echo "<tr bgcolor=#ABB5F6>
    <td>$name</td>
    <td>$date</td>
    <td>$time</td>
    <td>$phone</td>
    <td>$email</td>
    <td>$company</td>
    <td>$course</td>
    <td>$ref</td>
    <td>$optout</td>
    </tr>";
}

// Mail to $to and $emailarray recipients
function sendMail($to)
{
    $subject = 'Test mail';
    $message = 'Hello'.$name; // I want $name from the while loop
    $headers = array();
    $headers[] = "From:" . "myemail@email.com";
    $headerz = implode("
", $headers);

    mail($to, $subject, $message, $headerz);
}

?>
  • 写回答

4条回答 默认 最新

  • duangan4070 2012-07-10 15:33
    关注

    Why not just pass the $name to the function sendMail:

    // Mail to $to and $emailarray recipients
    function sendMail($to, $name)
    {
        $subject = 'Test mail';
        $message = 'Hello'.$name; // I want $name from the while loop
        $headers = array();
        $headers[] = "From:" . "myemail@email.com";
        $headerz = implode("
    ", $headers);
    
        mail($to, $subject, $message, $headerz);
    }
    

    And then call the sendMail function with the name variable?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?