QR-Codes mit Javascript erstellt und Daten mit PHP aufbereiten

Tony-S

PC-Selbstbauer(in)
Hallo Forum,

ich habe eine Datenbank mit verschiedenen PCs, deren Eigenschaften wie Name, Inventarnummer, Seriennummer und Mac-Adresse dort gespeichert sind und möchte nun aus diesen Informationen QR Codes erstellen. Bis jetzt habe ich zwei Javascript-Dateien die man hier findet auf github findet: http://goo.gl/yyfXq mit denen man die QR-Codes erstellen kann
und ein PHP-Dokument welches mir die Daten aus einer MySql Datenbank zieht. Jetzt ist meine Frage eigentlich "nur" wie ich in meinem folgenden Quelltext Änderungen vorzunehmen habe um den Zellen eine ID zu geben und die Daten der Abfrage an das Javascript weitergebe ...

Ich muss dazu sagen dass das alles noch ein wenig neu für mich ist, ich aber schon mit anderen Sprachen programmiert hab und durchaus (größtenteils) verstehe, was da abläuft.

Nun also mein Quellcode:

HTML:
 qr php mysql javascript - Pastebin.com[/url]
und hier das JS: [url]https://github.com/amanuel/JS-HTML5-QRCode-Generator/blob/master/html5-qrcode.js[/url]

Ich hoffe mir kann jemand helfen auch wenn das Problem etwas speziell ist

- btw, das was ich da bei: "function updateQRCode(text)" gemacht habe, ist eher ein Versuch einen String für den QR-Code zusammen zu bauen aber so richtig blick ich nicht durch,
wie ich aus den mit php abgerufenen daten so aufzubereiten das ich sie im javascript nutzen kann und alle PCs inkl. dessen QR Code in einer Tabelle darzustellen
 
Also ich muss sagen, dass ich deine Problemstellung nicht 100%ig verstehe. Aber da keiner geantwortet hat bis jetzt, versuch ich mal mein Glück:

Du hast ein Javascript-script, was dir aus einem string "text" einen QR code erzeugt. Die Daten, die in diesem Code gespeichert werden müssen kommen aus einem PHPscript.
Zu deiner ersten Frage, wie du eine ID zu den Zellen hinzufügst: Meinst du eine hochzählende Zahl, die pro Datensatz einmalig ist oder eine ID für ein html element setzen?
Ersteres ist recht einfach zu schaffen, indem man in der Schleife einfach eine Variabel von 0 hochzählt und auch immer mit ausgibt.

Dann aber das kniffligere: Die Daten an Javascript zu kriegen. Erstmal übergibt man an die JS nur einen text, und nicht mehrere Variabeln. D.h. man muss alle Variabeln zu einem einzigen string vereinen. Ich empfehle das Format, was auch im Web verwendet wird: IPN=kuchenpc&IM=0033421337
wobei das jetzt abkürzungen sein sollen für zb. inventory_pc_name.
Und ich bin auch kein Javascript experte, und es geht wahrscheinlich viel einfacher, aber ich würds so machen:
in der php While schleife, in der alle datensätze gelesen werden gibst du jeden durchgang einfach immer aus:
<div id='datensatz$i'>IPN=kuchenpc&IM=0033421337</div>
Dabei ist $i eine hochzählende variable
und in Javascript machst du ebenfalls eine while schleife, die alle elemente durchgeht. Pseudocode:
Code:
var i=0;
while(true)
{
  $var elem = document.GetElementById('datensatz'+i);
  if(elem == NULL)  //Element existiert nicht
    break;
  showQRCode(elem.innerHTML)
  i++;
}
Hoffe ich habs gut genug beschriebnund dein problem verstanden. Sonst meld dich heir nochmal

mfg
Lukas
 
Danke Crysis nerd - so oder so ähnlich hätte ich wohl weiter gemacht (deine Idee scheint ohne sie probiert zu haben, schlüssig und richtig). Ich habe mich die Tage aber nochmal hingesetzt und mir eine andere Lösung überlegt. Die Idee war ja ursprünglich eine Lösung zu bauen die ohne Plug-In oder Fremddienst auskommt und einfach im Browser läuft. So hat sich die Palette an Lösungen auf eine jquery-Bilbiothek und eine mit HTML5 und JavaScript beschränkt, die erste fiel weg da sie nich sehr gut dokumentiert war und für mich die HTML5-Lösung einfach bequemer aussah. Dann brauchte ich aber Daten aus unserer PC-Datenbank, so kam PHP hinzu - ich hab also unnötigerweise versucht mit JavaScript auf die Tabelleninhalte zuzugreifen.

Also hab ich nach einer PHP-Lösung gesucht und eine gefunden, die sehr einfach zu nutzen ist und habe mir somit ein Lösung zusammengebaut die sehr gut funktioniert, diese QRs dienen ja als Etikette für PCs bei uns.

Wie ich das gelöst habe schreibe ich hier noch ich überleg nur noch wo ich das hoste, auf Pastebin wäre z. B. eine Idee - mal sehen.

MfG Tony
 
Zuletzt bearbeitet:
Oke, das ist natürlich viel einfacher. Hab mich schon gewundert, warum die QR codes per JS erstellt werden, war dann aber auch zu doof um dir was besseres vorzuschlagen^^
Jedenfalls gut, dass du dein Problem gelößt hast.

mfg
Lukas
 
Zurück