Halo,
Ik heb een probleem waarover ik een vraag wil stellen op het PHP-forum.
Ik ben nieuw hier en het koste me al een uur zoeken om uit te vinden waar ik een topic kan starten...
Dat heb ik gevonden maar nu...
Mijn eigenlijke vraag heeft te maken met het op de juiste manier in een array krijgen van data uit een HTML-form,zodat ik een database tabel met eenmaal op submit drukken kan updaten. Ik heb mijn vraag duidelijk op papier staan maar om duidelijk te maken wat waar fout gaat heb ik ook 2 php pagina's en 4 schermafdrukken nodig.
Ik zie hier geen mogelijkheid om dit bijvoorbeeld in .pdf formaat als bijlage bij mijn tekst te voegen.
De hele website waar het voor is nog in een testfase en kan dus niet even snel online gezet worden.
Helaas zijn het meer dan 20 regels en dan de screenprints met de resultaten nog... anders zou ik de datebase beschikbaar moeten maken. Maar dank voor de redactie. Misschien kan ik de code in stukken hakken?
Ik kan me niet indenken dat er voor het oplossen van een probleem vele tientallen regels aan code nodig zijn. Je kan het vast tot minimale code proberen te brengen.
Ik zou kunnen proberen om alleen het formulier waar het $_POST array uit voort komt te plaatsen maar of men dan het probleem begrijpt, ik weet het niet
"Mijn eigenlijke vraag heeft te maken met het op de juiste manier in een array krijgen van data uit een HTML-form,zodat ik een database tabel met eenmaal op submit drukken kan updaten."
probeer ons te voorzien van het HTML formulier en het stuk code dat de POST data om moet zetten naar een database query, wat gaat er fout?
Krijg je een error?
Wat is de uitkomst wanneer je iets soortgelijks als in je script zet?
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
print_r($_POST['formnaam']); /* netjes de array weergeven ;
pas "formnaam" aan naar de naam van jouw formulier
je kunt ook print_r($_POST); gebruiken om alle POST
waarden te printen */
} // wanneer er POST data op deze pagina actief is
?>
Jongens,
Ik vroeg hier alleen hoe kan ik een bericht plaatsen met meerdere "bijlage's"
Dat is me inmiddels met wat aanwijzingen van Ariën gelukt.
Dit staat in het daarvoor bedoelde segement.
Mvg,
Douwe
Hallo,
Ik heb hulp nodig bij het oplossen van een probleem waar ik zelf als beginner met php niet uit kom.
Waar gaat het om:
Er is een database tabel met producten die bereidt en bezorgt kunnen worden bij de klanten.
Er is ook een wisselend dagmenu dat tegen een lagere prijs dan normaal wordt aangeboden.
De status van ieder product moet door de kok, op een gebruiksvriendelijke manier bijgewerkt kunnen worden, soms meerdere malen per dag. Gebruiksvriendelijk is in dit geval, op 1 pagina en voor alle producten tegelijk.
In de database zijn er o.a. de kolommen: SKU (product nummer), Nombre_del_producto (productnaam), Producto_disponible ( product beschikbaar ) en Comida_del_dia ( dagmaaltijd).
Of een product beschikbaar is en maaltijd van de dag is wordt aangegeven met een 1 of een 0 in de betreffende kolom in de database.
Wat heb ik gedaan om dit te realiseren:
Ik haal middels een query de benodigde gegevens van alle producten op uit de database en laat deze zien in een tabel.
Ik voer de Query nogmaals uit maar vervang nu in de tabel de gegevens voor “product beschikbaar” en “maaltijd van de dag” door inputs, respectievelijk een checkbox en een radio button, waarmee de kok de gewenste nieuwe status kan in geven.
Hierna worden de gegevens verstuurt naar “status_bijwerken.php”. Dit is nu, na wat experimenteren, even vereenvoudigd tot een pagina die alleen de arrays in $_POST() laat zien.
Er zijn “hidden inputs” opgenomen om er zeker van te zijn, dat er een 0 als waarde wordt gebruikt, indien een maaltijd niet beschikbaar is en geen dagmaaltijd is. Dit blijkt niet goed te werken! (bij arrays?) Hoe dit op te lossen is dan ook de kern mijn vraag.
Er is voor gekozen om geen “checked”radiobutton te gebruiken want er kan ook, geen dagmaaltijd, zijn.
Onderstaand de code van de tweede quiery en het formulier.
echo "<form method='post' action='status_bijwerken.php'>";
echo "<br><b>Introduzca el nuevo estado deseado de los productos:</b> "; // laat de lijst opnieuw zien, maar nu met inputs, zodat de gewenste nieuwe status van de producten gekozen kan worden.
$sql = "SELECT `SKU`,`Nombre_del_producto`,`Producto_disponible` , `comida_del_dia` FROM `productas` ";
$result1 = $dbconn->query($sql);
echo "<table border= '1' width='80%'><tr> <th> SKU </th> <th> Nombre_del_producto </th> <th> Producto disponible</th> <th> Comida_del_dia </th> </tr>";
if ($result1->num_rows > 0) {
// output data of each row
while($row = $result1->fetch_assoc()) {
$sku = $row["SKU"] ;
$nombre = $row["Nombre_del_producto"];
echo " <tr>
<td><input type='hidden' name = 'Sku[]' value='$sku'> ".$sku."</td>
<td><input type='hidden' name = 'Nombre_del_producto[]' value='$nombre'>".$nombre."</td>
<td> <input type='hidden' name = 'Producto_disponible[]' value='0'> <input type='checkbox' name = 'Producto_disponible[]' value='1'> </td>
<td><input type='hidden' name = 'Comida_del_dia[]' value='0'> <input type='radio' name ='Comida_del_dia[]' value='1'></td>
</tr>"; }
}
echo "</table><br><input type='submit' name='submit' value='Enviar a la base de datos '></form><br><br>";// stuur nieuwe status naar de database
$dbconn->close();
In bijgaande screen-prints zie de 1 tabel met de inputs 2 de r_print van het resulterende $_post() array. Je ziet dat er extra regels aangemaakt worden, er zijn 12 producten dus er moeten ook 2 maal 12 status regels zijn.
Zonder de hidden inputs krijg je weer minder status regels dan productregels dus dat gaat ook niet goed.
En regel voor regel updaten wordt zo veel werk voor de kok... er komen nog wel 30 producten bij.
Wie heeft de oplossing?