Добрый день господа. Вопрос такого характера, есть скрипт web инвентаризации и учета техники, есть база данных MySql в которой хранятся данные. Скрипт дейсвует по принципу учета и передачи оборудования в разные отделы, при передаче печатается акт в который нужно вставить ФИО передающего, ФИО принимающего и № отдела, как это можно реализовать с помощью QR кода?
я так понимаю вам надо вбить ФИО + № и сгенерировать все в QR код, а чтобы генерировался он, нужен скрипт... я правильно понял?
Скрипт уже есть, надо в этот скрипт вставить qr код, тоесть чтоб он генерировал вышеперечисленное. К примеру, я нажимаю - передать оборудование и открывается акт, и в нём уже должен быть qr код, от кого, кому, и номер отдела. Тоесть есть скрипт передачи оборудования, а скрипта qr кода нет, и наверное если бы был, незнаю как его вснуть в свой скрипт
а что от QR-а требуется? по его распознованию что должно произойти? если нужно запустить браузер с нужной страницей то достаточно только идентификатора документа-перемещения. если нужно просто отобразить информацию на экране то конкатенируйте строки ИД+ФИО1+ФИО2 и все это уже в QR кодируйте.
ну вы сначала найдите скрипт этот (погуглите) а потом если вы не сможете совместить то php.ru поможет )
Дело в том что уже гуглил, нашел скрипт qr кода, но не могу понять как его вставить. Надо чтоб был запрос в базу данных я так понимаю и все это паковалось в код.
<?php function load_viddili() { global $viddili,$db; $q="SELECT id,name,pib,tobo FROM viddili ORDER BY id ASC"; if (!$res=mysql_query($q,$db->id)) { echo '<p>Помилка відкриття бази даних</p>'."\r\n"; return false; } $kol=mysql_num_rows($res); $viddili['0'][0]='На списанні'; $viddili['0'][1]=''; for ($i=0;$i<$kol;$i++) { $ob=mysql_fetch_object($res); $viddili[(string)$ob->id][0]=$ob->name; $viddili[(string)$ob->id][1]=$ob->pib; } mysql_free_result($res); return true; } function propis ($ch) { $edinici=array('ноль','одна','дві','три','чотири','п`ять','шість','сім','вісім','дев`ять'); $edinici2=array('ноль','один','два','три','чотири','п`ять','шість','сім','вісім','дев`ять'); $desat=array('десять','одинадцять','дванадцять','тринадцять','чотирнадцять','п`ятнадцять','шістнадцять','сімнадцять','вісімнадцять','дев`ятнадцять'); $desatki=array('','','двадцять','тридцять','сорок','п`ятдесят','шістдесят','сімдесят','вісімдесят','дев`яносто'); $sotni=array('','сто','двісті','триста','чотириста','п`тьсот','шістьсот','сімсот','вісімсот','дев`ятсот'); $grn=''; $ch=explode('.',$ch); $s=(int)$ch[0]; if ($s!=0) { // Якщо число =0, тоне розшифровуємо, а пишемо 'ноль' // розшифровуємо одиниці до сотень $ch_od=$s%100; $s=floor($s/100); if ($ch_od!=0) { if ($ch_od<10) $grn=$edinici[$ch_od]; elseif (($ch_od>9)&&($ch_od<20)) {$ch_od=$ch_od % 10;$grn=$desat[$ch_od];} else { $i=floor($ch_od/10); $grn=$desatki[$i]; $i=$ch_od % 10; if ($i!=0) $grn.=' '.$edinici[$i]; } } // розшифровуємо сотні одиниць $ch_od=$s % 10; $s=floor($s/10); if ($ch_od>0) $grn=$sotni[$ch_od].' '.$grn; // розшифровуємо тисячі до сотень $ch1000=''; $ch_od=$s%100; $j=$ch_od; $s=floor($s/100); if ($ch_od!=0) { if ($ch_od<10) $ch1000=$edinici[$ch_od].' '; elseif (($ch_od>9)&&($ch_od<20)) {$ch_od=$ch_od % 10;$ch1000=$desat[$ch_od];} else { $i=floor($ch_od/10); $ch1000=$desatki[$i]; $i=$ch_od % 10; if ($i!=0) $ch1000.=' '.$edinici[$i]; } } // розшифровуємо сотні тисяч $ch_od=$s % 10; $s=floor($s/10); if ($ch_od>0) $ch1000=$sotni[$ch_od].' '.$ch1000; if (strlen($ch1000)>0) $ch1000.=' тисяч'; if (($j<10)||($j>19)) { $j=$j % 10; switch ($j) { case 1:$ch1000.='а'; break; case 2: case 3: case 4:$ch1000.='і'; break; } } $grn=$ch1000.' '.$grn; // розшифровуємо мільони до сотень $ch_mln=''; $ch_od=$s%100; $j=$ch_od; $s=floor($s/100); if ($ch_od!=0) { if ($ch_od<10) $ch_mln=$edinici2[$ch_od].' '; elseif (($ch_od>9)&&($ch_od<20)) {$ch_od=$ch_od % 10;$ch_mln=$desat[$ch_od];} else { $i=floor($ch_od/10); $ch_mln=$desatki[$i]; $i=$ch_od % 10; if ($i!=0) $ch_mln.=' '.$edinici[$i]; } } // розшифровуємо сотні мільонів $ch_od=$s % 10; $s=floor($s/10); if ($ch_od>0) $ch_mln=$sotni[$ch_od].' '.$ch_mln; if (strlen($ch_mln)>0) { $ch_mln.=' мільон'; if (($ch_od>4)&&($ch<21)) $ch_mln.='ів'; else { $ch_od=$ch_od % 10; $j=$j % 10; switch ($j) { case 1: break; case 2: case 3: case 4: $ch_mln.='а'; break; default: $ch_mln.='ів'; } } $grn=$ch_mln.' '.$grn; } } else $grn='ноль'; $result=$grn.' грн '.$ch[1].' коп.'; return $result; } function view_akt() { global $res,$viddili,$viddil2; $data=getdate(); ?> <h1>НАКЛАДНА №_________ від "____" _________________ <?php echo $data['year'];?>р.<br>НА ВНУТРІШНЄ ПЕРЕМІЩЕННЯ<br>НЕОБОРОТНИХ АКТИВІВ БАНКУ</h1> <br><br><br> <table width="100%" border="0px" cellspacing="0px" cellpadding="0px"> <tr> <td width="15%" align="left" valign="top"> <b>Кому:</b> </td> <td align="left" valign="top"> <?php if (isset($viddili[$viddil2][0])) echo $viddili[$viddil2][0].'<br>'.$viddili[$viddil2][1]; ?> <br><br> </td> </tr> <tr> <td align="left" valign="top"> <b>Від кого:</b> </td> <td align="left" valign="top"> <?php echo $_SESSION['viddil_name'].'<br>'.$_SESSION['fio'];?> <br><br> </td> </tr> </table> <table width="100%" border="0px" cellspacing="0px" cellpadding="2px" style="border:1px solid #000000"> <tr style="background:#dddddd"> <td width="30px" align="center" valign="middle" style="border:1px solid #000000"><b>№<br>з/п</b></td> <td align="center" valign="middle" style="border:1px solid #000000"><b>Найменування</b></td> <td width="100px" align="center" valign="middle" style="border:1px solid #000000"><b>Інв. номер</b></td> <td width="100px" align="center" valign="middle" style="border:1px solid #000000"><b>Серійний номер</b></td> <td width="50px" align="center" valign="middle" style="border:1px solid #000000"><b>К-ть</b></td> <td width="50px" align="center" valign="middle" style="border:1px solid #000000"><b>Рахунок обліку</b></td> <td width="100px" align="center" valign="middle" style="border:1px solid #000000"><b>Балансова вартість</b></td> </tr> <?php $summa_g=0; $summa_c=0; $kol=0; $viddil=0; while ($ob=mysql_fetch_object($res)) { $kol++; $s=explode('.',$ob->cena); $summa_g+=$s[0]; $summa_c+=$s[1]; ?> <tr> <td align="center" valign="middle" style="border:1px solid #000000"><?php echo $kol;?></td> <td align="left" valign="middle" style="border:1px solid #000000"><?php echo $ob->name;?></td> <td align="center" valign="middle" style="border:1px solid #000000"><?php echo $ob->id;?></td> <td align="center" valign="middle" style="border:1px solid #000000"><?php echo $ob->sn;?></td> <td align="center" valign="middle" style="border:1px solid #000000">1</td> <td align="left" valign="middle" style="border:1px solid #000000"> </td> <td align="right" valign="middle" style="border:1px solid #000000"><?php echo $ob->cena;?></td> </tr> <?php } $summa=$summa_g+floor($summa_c/100); $summa_c=$summa_c % 100; $summa.='.'.$summa_c; ?> <tr> <td align="center" valign="middle" style="border:1px solid #000000"> </td> <td align="left" valign="middle" style="border:1px solid #000000" colspan="5"><b>Загалом</b></td> <td align="right" valign="middle" style="border:1px solid #000000"><b><?php echo $summa;?></b></td> </tr> </table> <div align="left" style="margin:20px 0px 0px 50px"> <b>Всього об'єктів: <?php echo $kol;?></b> <br> <b>на загальну суму:</b> <?php echo propis($summa);?> <table width="100%" border="0px" cellspacing="0px" cellpadding="0px"> <tr> <td align="left" valign="top"><b>Здав</b></td> <td width="20%" align="left" valign="top" style="border-bottom:2px solid #000000"> </td> <td width="50px"> </td> <td width="30%" align="left" valign="top"><?php echo $_SESSION['fio'];?></td> </tr> <tr> <td> </td> <td align="center" valign="top"><font size="-1">(підпис)</font></td> <td> </td> <td> </td> </tr> </table> <br> <table width="100%" border="0px" cellspacing="0px" cellpadding="0px"> <tr> <td align="left" valign="top"><b>Прийняв</b></td> <td width="20%" align="left" valign="top" style="border-bottom:2px solid #000000"> </td> <td width="50px"> </td> <td width="30%" align="left" valign="top"><?php echo $viddili[$viddil2][1]?></td> </tr> <tr> <td> </td> <td align="center" valign="top"><font size="-1">(підпис)</font></td> <td> </td> <td> </td> </tr> </table> </div> <?php } session_start(); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <!-- указание кодировки символов на странице --> <meta http-equiv="Content-Language" content="ru"> <meta http-equiv="Pragma" content="no-cache"> <!-- Контроль кэширования страницы --> <title>Внутрішнє переміщення</title> <style> <!-- h1{ font-size:16pt; font-weight:bold; text-align:center; margin:5px 0px 5px 0px; } --> </style> </head> <body> <?php if (!isset($_SESSION['viddil'])) { echo '<p>Адміністратор не авторизований.</p>'; if (!isset($_SESSION['admin'])) session_destroy(); return; } $err=''; if (!isset($_GET['viddil2'])) { echo '<p><b style="color:#ff0000">Помилка: не переданий відділ-отримувач.</b></p>'."\r\n"; return; } else $viddil2=(int)$_GET['viddil2']; if (!file_exists('../data/settings.php')) { echo '<b style="color:#ff0000">Помилка зчитування налаштувань.</b>'."\r\n"; return; } $sett=file('../data/settings.php'); class MySQL { var $id; var $server; var $base; var $user; var $pass; } $db=new MySQL; $s=explode('|',$sett[1]); $db->server=$s[0]; $db->user=$s[1]; $db->pass=$s[2]; $db->base=$s[3]; $db->id=mysql_connect($db->server,$db->user,$db->pass); if ($db->id==false) { echo '<p style="color:#ff0000;"><b>Помилка підключення до MySQL</b></p>'."\r\n"; return; } if (!mysql_select_db($db->base)) { echo '<p>Помилка відкриття бази даних</p>'."\r\n"; mysql_close($db->id); return; } mysql_query('SET NAMES cp1251',$db->id); $viddili=array(); load_viddili(); $q="SELECT * FROM devices WHERE (otdel=".$_SESSION['viddil'].")AND(otdel2!=0)AND(otdel2=$viddil2) ORDER BY name ASC"; if ($res=mysql_query($q,$db->id)) { if (mysql_num_rows($res)>0) { view_akt(); } else echo "<p><b>Помилка: не знайдено жодного пристрою.</b></p>\r\n<br>\r\n"; mysql_free_result($res); } else echo "<p><b>Помилка: запит пристрою для побудови акту переміщення не виконано (".mysql_error($db->id).").</b></p>\r\n<br>\r\n"; mysql_close($db->id); ?> </body> </html> Добавлено спустя 1 минуту 49 секунд: Тоесть в этот акт надо засунуть qr код внизу, с данными о людях кто - кому и № отдела
http://takein.ru/php/65-sozdanie-qr-kodov-na-php.html Добавлено спустя 2 минуты 45 секунд: тут почитал чето вроде для вас ) функцию например после <?php вставте а showQRCode(текст, размер) куда надо вам вставить)
<?PHP require_once 'qrlib.php'; $data = array('Вася', 'Иванов', '10.12.1985'); $data = implode(" ", $data); QRcode:ng($data); ?> Вот сам скрипт qr, но здесь стоят уже готовые данные, а как сделать чтоб он брал с базы, кто передаёт (текущая сессия), кому (выбор) и № отдела. Тоесть автоматическая генерация данных Тоесть как здесь: $q="SELECT * FROM devices WHERE (otdel=".$_SESSION['viddil'].")AND(otdel2!=0)AND(otdel2=$viddil2) ORDER BY name ASC";
вы либо учитесь тут,с нашей помощью. Либо заказывайте за денежку. Учение подразумевает эксперименты и вопросы. Вдумчивые. Сначала читаете, что делает функция, потом если не поняли - задаете вопрос.
Делаю так: $awa_s = mysql_query("SELECT * FROM devices WHERE (otdel=".$_SESSION['viddil'].")AND(otdel2!=0)AND(otdel2=$viddil2)AND(tobo=$tobo2) ORDER BY name ASC"); $results = mysql_fetch_array($awa_s); Возвращает ошибку: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in