php - 尝试将函数的结果保存在 php 上

标签 php mysql sql function

我有一个这样的功能。在我的程序中为优惠券制作随机代码的功能:

<?php
function rcode() {
  //rancangan kode
  $fak = mysql_query("select * from master where master.npm = '$_SESSION[username]'"); // dapat dari inputan
  while ($fakk = mysql_fetch_array($fak)) {
      $_SESSION['id_fak'] = $fakk['id_fak'];
  };
  $fakultas = "0" . $_SESSION['id_fak'];
  $jur = mysql_query("select id from master where master.npm = '$_SESSION[username]'"); // dapat dari inputan
  while ($jurr = mysql_fetch_array($jur)) {
      $_SESSION['id'] = $jurr['id'];
  };
  $jurusan = $_SESSION['id'];

  $result = mysql_query("
      SHOW TABLE STATUS LIKE 'konfirmasi'
  ");
  $data = mysql_fetch_assoc($result);
  $next_increment = $data['Auto_increment'];
  //$next_increment = 99999;

  if ($next_increment < 10) {
      $voucher = $fakultas . "00" . $jurusan . "0" . "0" . $next_increment;
      echo $voucher;
  } else if ($next_increment < 100 and $next_increment >= 10) {
      $voucher = $fakultas . "00" . $jurusan . "0" . $next_increment;
      echo $voucher;
  } else if ($next_increment < 1000 and $next_increment >= 100) {
      $voucher = $fakultas . "00" . $jurusan . $next_increment;
      echo $voucher;
  } else if ($next_increment < 10000 and $next_increment >= 1000) {
      $depan = substr($next_increment, 0, 1);
      $sisa = substr($next_increment, 1, 3);
      $voucher = $fakultas . "0" . $depan . $jurusan . $sisa;
      echo $voucher;
  } else if ($next_increment >= 10000) {
      $puluhribuan = substr($next_increment, 0, 1);
      $ribuan = substr($next_increment, 1, 1);
      $sisa = substr($next_increment, 2, 3);

      $voucher = $fakultas . $puluhribuan . $ribuan . $jurusan . $sisa;
      echo $voucher;
  }
  //echo rand();
}

?>

所以,我尝试插入我的sql,但它应该可以工作。 这是代码:

<?php
rcode();
?>
<?php
if (isset($_POST['konfirmasi'])) {
    $voucherr = rcode();
    mysql_query("insert into konfirmasi(voucher) values('$voucherr')");
} else {
    ?>
    <form action="tampilbarcode.php" action="POST">
        <input type="hidden" name="username" value="<?php echo $_SESSION['username']; ?>" />
        <input type="submit" name="konfirmasi" value="CETAK PDF">
    </form>
    <?php
}
?>

请帮助我,这是我的论文计划。

最佳答案

您应该在 rcode() 函数末尾执行 return $voucher 而不是 echo $voucher

关于php - 尝试将函数的结果保存在 php 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21619844/

相关文章:

php - MySQL 全文搜索不起作用

php - 移动应用程序开发 - 如何创建服务器实现

php - 从 while 循环中获取所有已检查的项目并将它们作为 true 或 false 放入数据库中

PHP/PDO - 如何通过 PHP 和 PDO 更改登录用户的密码并刷新连接句柄?

php - 从 MySQL 数据库动态加载 fancybox 上的 ajax 内容

sql - SQL Server 中按 x 排序,然后按 y 列排序

sql - 如何在 SQL Server 中使用基于 2 列的 group by

javascript - Chrome 在关闭/退出时不清除 SESSION COOKIES

java - Hibernate 无法区分同名的列

sql - 如何撤销PostgreSQL中特定字段的权限