Misschien is het handig om even uit te leggen wat je exacte doel nou is?
Wat voor data wil je opslaan? En wat is de bedoeling?
Met het antwoord op deze vraag kunnen we een gepast advies geven over hoe je de database in kan richten, en hoe je de data het beste kan verwerken. Want ik durf te wedden dat je ergens een foute stap maakt, waarmee je je zelf later flink in de nesten mee zal kunnen werken.
Pretty much this.
Als je functionaliteit nodig hebt om tabellen in bulk aan te maken denk ik (ook) dat er ergens iets scheef zit. Gezien de anderetopics die je hier over hebt aangemaakt lijkt een bezinningsmoment wel enigszins op zijn plaats.
Wanneer je ons niet kunt of wilt uitleggen wat je doet of wat je probeert te bereiken kunnen we je ook niet voorzien van passend advies.
Ik ga me zeker bezinnen, maar zolang ik nog niet de php code volledig beheers wil ik stukjes script oefenen.
Johan,
Gewoon een tip van mijn kant , maar als je niet eerst leert hoe je een goede datebase in elkaar zet loop je het risico dat je verkeerd leert programmeren omdat je problemen moet oplossen die geen probleem hoeven te zijn (zoals dit topic eigenlijk al een beetje bewijst :) ). Je geeft aan dat je wilt leren programmeren, maar goed programmeren begint in mijn ogen bij een goede database.
Je kunt het een beetje zien als willen rennen voordat je kunt lopen.
Zoals al aangegeven is dat slechts mijn mening , maar er is een reden dat je bij een opleiding programeren eerst een database leert maken voordat je begint met code kloppen.
Doe met de mening/het advies wat je wil (of niet natuurlijk :P)
Ik wil helder krijgen hoe ik vijf verschillende invoervelden met een aparte toegewezen lusvariabele in een array kan zetten.
Dit is een heldere vraag.
Laten we bij het begin beginnen.
Alles wat je in PHP doet waar webpagina's aan te pas komen maak je gebruik van HTML documenten, of liever gezegd, je kapselt de PHP in in een HTML document. Het is hierbij zeer belangrijk dat het HTML document zelf op een juiste manier is opgesteld. Deze moet kloppend/volledig zijn.
Een ander aspect (niet minder belangrijk, en ook onderdeel van het kloppend zijn van je document en bijbehorende data) is de character encoding die je gebruikt. Wat dit inhoudt heb ik elders al een keer uitgelegd. Laten we voor nu volstaan met de eis dat je character encoding altijd expliciet aangegeven dient te worden en (bij voorkeur) overal hetzelfde is. Als je niet beter weet of geen speciale voorkeur hebt is UTF-8 een veilige default.
Dit levert je dus het volgende (minimale) sjabloon van een kloppend/volledig HTML document:
De volgende stap is het bouwen van je formulier. Het maakt me niet uit hoe je de formuliervelden genereert, als je er maar voor zorgt dat de uiteindelijk geproduceerde HTML klopt. Enkele quotes om attribuut-waarden valt daar niet onder... Je kunt tevens aangeven dat je enkel UTF-8 data wenst te ontvangen via de accept-charset property, maar als je document al een UTF-8 character encoding heeft is dit niet per se nodig (tenzij iemand handmatig de encoding voor weergave verandert...).
Stel dat je 5 velden met naam "runame" wilt POSTen, je formulier wordt dan bijvoorbeeld als volgt (aangenomen dat je PHP-bestand index.php heet en naar zichzelf submit):
Met een minimale inspanning (p en label tags) maak je dit formulier ook meteen een stuk gebruiksvriendelijker.
Dan is daar de verwerking. Dit doe je weer in PHP. Gemakshalve dumpen we de output in hetzelfde script. Dit doen we door te controleren of de REQUEST_METHOD gelijk is aan POST. Vervolgens zou je nog kunnen controleren of $_POST['runame'] bestaat en een array is alvorens je deze afdrukt.
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['runame']) && is_array($_POST['runame'])) {
echo '<pre>'.print_r($_POST['runame'], true).'</pre>';
} else {
?><p>fout: veld 'runame' niet aanwezig of is geen array</p><?php
}
}
?>
Voegen we alles bij elkaar krijgen we het volgende:
Een id-attribuut in een HTML-element gebruik je om dat element uniek te identificeren, zodat je hier aan kunt refereren. De waarde van dit id-attribuut dient dus (ook) uniek te zijn, anders is het niet duidelijk welk element je precies bedoelt als je hier naar verwijst.
De PHP-functie is_array() is bedoeld om te bepalen of de variabele die je inspecteert van het type array is. (Of het dus een array betreft - is-array - get it :)).