Создать сертификат в PHP - PullRequest
0 голосов
/ 12 июля 2020

У меня возникла проблема с приведенным ниже кодом. Проблема заключается в том, что когда я запускаю этот файл, он автоматически распечатывает всех пользователей в моей базе данных. Мне трудно выбрать одного пользователя и распечатать только этого пользователя.

Может ли кто-нибудь здесь мне помочь?

$con=mysqli_connect('localhost','root','','mylib');//connect sa database
$query="select * from reguser" ;//select column
$fire=mysqli_query($con,$query);
while($row=mysqli_fetch_array($fire))
{
   header('content-type:image/jpeg');
   $font= realpath('arial.ttf');
   $image=imagecreatefromjpeg("format.jpg");
   $color=imagecolorallocate($image, 51, 51, 102);
   $date=date('d F, Y');//Current Date 
   imagettftext($image, 18, 0, 880, 188, $color,$font, $date);
   $name=$row['username'];
   imagettftext($image, 48, 0, 120, 520, $color,$font, $name);
   imagejpeg($image,"certificate/$name.jpg");//Storing certificate here
   imagedestroy($image);
}
?>```

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Вы должны указать, какого пользователя вы хотите отображать в запросе MySQL с предложением WHERE.

Предложение WHERE используется для извлечения только тех записей, которые удовлетворяют указанному условию. подробнее

это вам поможет:

***
$user_id = "replace the user id here";
$query="select * from reguser WHERE id='".$user_id."'" ;//select column
***
0 голосов
/ 12 июля 2020

Вы запускаете код печати сертификата внутри al oop, выполнив запрос Select * from reguser и используя while l oop.

Вместо этого, если вы хотите распечатать его только для одного, c user, затем попробуйте следующее:

$sql = mysqli_query($con, select * from reguser where id=5);

Вы можете заменить условие предложения where на то, что вам нравится, если вы не хотите получать пользователя с его идентификатором.

$user = mysqli_fetch_assoc($sql); // Get the required user like this:
// certificate printing code
header('content-type:image/jpeg');
$font= realpath('arial.ttf');
$image=imagecreatefromjpeg("format.jpg");
$color=imagecolorallocate($image, 51, 51, 102);
$date=date('d F, Y');//Current Date 
imagettftext($image, 18, 0, 880, 188, $color,$font, $date);
$name=$user['username'];
imagettftext($image, 48, 0, 120, 520, $color,$font, $name);
imagejpeg($image,"certificate/$name.jpg");//Storing certificate here
imagedestroy($image);

Это должно сработать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...