Vraag & Antwoord

Webprogrammeren & scripting

[PHP] PDF maken; probleem met vullen array mbv mysql-loop

4 antwoorden
  • Ik ben bezig met het maken van een online shop. Hierbij wordt gebruik gemaakt van een tabel orders en daarbij hoort de tabel Orderregels (hier staan de bestelde producten van een order in) Aan het eind van de bestelprocedure moet door php een pdf document worden aangemaakt. Dit doe ik met behulp van R&OS PHP pdf creation ([url]http://www.ros.co.nz/pdf[/url]) Dit lukt aardig maar ik loop vast bij de "while-loop" die de orderregels in het pdf document moet zetten. De code die de data van een tabel voor het pdfdocument weergeeft is:[code:1:5a3d231731] $DataOrderRegels = array( array('Omschrijving'=>$Omschrijving,'Aantal'=>$Artnr,'Bedrag'=>$Bedrag'') ); [/code:1:5a3d231731] Echter de binnenste regel/array moet voor elke orderregel worden herhaald in een loop zo dat $DataOrderRegels alle data bevat. Ik heb nu iets al"s: [code:1:5a3d231731]//Begin 'buitenste' array $DataOrderRegels = array( //start loop $result1=mysql_query("SELECT Omschrijving,Aantal,Bedrag FROM orderrgl WHERE Ordernr='$Ordernr'"); while ($row1 = mysql_fetch_array($result1)) { $Omschrijving=$row1['Omschrijving']; $Aantal=$row1['Aantal']; $Bedrag=$row1['Bedrag']; //'Binnenste' array die moet worden herhaald afhankelijk van het aantal orderregels array('Omschrijving'=>$Omschrijving,'Aantal'=>$Aantal." x € ".$Consumentenprijs." ".$Verkpr_Eenheid,'Bedrag'=>"€ ".$Totbdrg_incl), } //eind loop //sluit buitenste loop af met slotregel array('Omschrijving'=>'','Aantal'=>$Artnr,'Bedrag'=>'') ); [/code:1:5a3d231731] Dit werkt echter niet omdat volgens mij ook code als $result1= ... als waarde voor de buitenste array wordt gezien. Ik hoop het probleem een beetje helder is, kan iemand mij mee opweg helpen?
  • Kun je eens laten zien hoe die array ($DataOrderRegels) eruit ziet en hoe die er uit moet zien? Ik begrijp geloof ik niet helemaal wat er mis gaat. Weet je zeker dat je query de gewenste resultaten uit je DB ophaat?
  • Het moet er als volgt uit komen te zien. Dit is een voorbeeld in een geval dat er drie orderregels zijn: [code:1:06aea054d0]$DataOrderRegels = array( array('Orderregelnr'=>'1','Omschrijving'=>'Artikel 1','Aantal'=>2,'Bedrag'=>'50,95'), array('Orderregelnr'=>'2','Omschrijving'=>'Artikel 2','Aantal'=>2,'Bedrag'=>'12,85'), array('Orderregelnr'=>'3','Omschrijving'=>'Artikel 3','Aantal'=>2,'Bedrag'=>'10,00') );[/code:1:06aea054d0] Echter de orderregels moeten dynamisch in de array worden gestopt via MySQL database. Hopelijk is het nu duidelijker.
  • Ik ben er reeds uitgekomen met: [code:1:ad82d6f1cb]$huidigerij = 0; $DataOrderRegels= array(); $result1=mysql_query("SELECT Artikelnr,Omschrijving,Aantal,Consumentenprijs FROM orderrgl WHERE Ordernr='$Ordernr'"); while ($row1 = mysql_fetch_array($result1)) { $DataOrderRegels[$huidigerij]['Omschrijving'] = $row1[1]; $DataOrderRegels[$huidigerij]['Aantal'] = $row1[2]; $DataOrderRegels[$huidigerij]['Bedrag'] = "€ ".$row1[3]; $huidigerij++; }[/code:1:ad82d6f1cb] Toch bedankt :wink:

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.