mbv implode gooit hij bij mij 5 variabelen in 1 tabel en niet als 5 verschillende tabellen.
Sorry dat ik er even tussen kom Johan maar ik denk dat we het eerst even over definities moeten hebben:
Het onderstaande plaatje laat één tabel zien.
In die tabel zie je kolommen. Een kolom loopt van boven naar beneden (verticaal)
Ook zie je rijen. een rij loopt van links naar rechts. Beiden bestaan uit verschillende vakjes.
In database termen praten we over een tabel, een kolom of een record/rij. een vakje is een field
[quote="Johan West op 06/06/2015 23:40:46"]
mbv implode gooit hij bij mij 5 variabelen in 1 tabel en niet als 5 verschillende tabellen.
Sorry dat ik er even tussen kom Johan maar ik denk dat we het eerst even over definities moeten hebben:
Het onderstaande plaatje laat één tabel zien.
In die tabel zie je kolommen. Een kolom loopt van boven naar beneden (verticaal)
Ook zie je rijen. een rij loopt van links naar rechts. Beiden bestaan uit verschillende vakjes.
In database termen praten we over een tabel, een kolom of een record/rij. een vakje is een field
Wil je tabellen opslaan die gebruikers aanmaken?
Waarom niet dit als een JSON-array opslaan?
Want dat is is een tabel in feite. En dat kan dan in 1 tekst-veld, in 1 rij, 1 kolom, 1 tabel.
Je kunt PHP en MySQL in afzondering bestuderen. Ik denk niet dat het de snelheid waarmee je inzicht verkrijgt wordt verhoogd door te proberen beide tegelijkertijd aan te leren...
Persoonlijk zou ik met PHP beginnen, en misschien daarvoor nog met HTML/CSS/JavaScript. En daarna pas MySQL.
Johan West op 07/06/2015 15:35:13
Is er niet een soort procedure die tussen UML en de code in zit die je kunt doorlopen om bepaalde oplossingen te verkrijgen?
Mja, dat heet een functionele specificatie. Eerst bepaal je wat je gaat doen, en vervolgens hoe. Dat proberen we nou al een tijdje duidelijk te krijgen. Als je ons niet vertelt wat je wilt doen, kunnen wij je ook niet vertellen hoe.
Ik bespeur trouwens een zeker patroon in je topics. Vaak geef je ofwel aan dat een topic is opgelost zonder de oplossing te plaatsen en in andere gevallen reageer je helemaal niet meer, laat je de status van je vraagstuk onduidelijk of geef je na herhaaldelijk verzoek nog steeds geen nadere toelichting op wat je probeert te bereiken. Ik weet niet hoor, maar volgens mij is dat niet helemaal zoals een hulpforum zou moeten werken.
Er wordt vaak veel en enthousiast gereageerd maar er wordt niet zoveel mee gedaan. Misschien is het naïef van mij om te verwachten dat het toch (ook) een beetje geven (is) en (niet enkel) nemen is, maar als ik zie hoeveel tijd/reacties er in jouw topics gaan, en hoeveel er uit terugkomt dan komt mij het reageren op jouw threads over als complete tijdsverspilling.
Ik doe wel degelijk iets met de posts hier. Ik wil ook best de oplossing laten zien van mijn vraagstuk. Je hulp is zeer welkom dus bij deze:
<?php
// script vervolg nadat verbinding is gelegd met db
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['runame']) && is_array($_POST['runame'])) {
echo '<pre>'.print_r($_POST['runame'], true).'</pre>';
If (isset($_POST['runame']) && (is_array($_POST['runame'])) && ($runame = " ") && ($newvar2 = " ") ) {
// implode en foreach toegepast
// de accolades die bij foreach horen moeten op de juiste plek worden gezet
$runame = $_POST['runame'];
$newvar2 = implode (", " , $runame);
foreach ($runame as $newvar2)
{ $sql = "CREATE TABLE IF NOT EXISTS `$newvar2` (linkoms VARCHAR(80), linkadd VARCHAR (80) )" ;
if ($conn->query($sql) === TRUE)
{ echo "De volgende tabellen zijn aangemaakt : ". $newvar2 ; } // haat ging om de input in de database niet om de browser output
else { echo "Fout: " . " <br>" . $conn->error;}
} $conn->close();
}
else { echo "fout: 'runame' niet aanwezig of is geen array"; }
}
}
//
?>
[size=xsmall]Toevoeging op 08/06/2015 09:58:46:[/size]
@Thomas
Wat ik doe met php en mysql stelt nog niet heel veel voor. Ik heb bij het maken van scripts niet altijd een specifiek doel voor ogen, anders dan het begrijpen van de code. Ik heb geen groter plan, behalve wat code die ik wil kunnen toepassen.
Zodra je gaat programmeren en php code wilt oefenen kom je al snel met databases in aanraking. Ik vind databases erg verhelderend en ze brengen structuur aan in het programmeren. In excel kun je redelijk een goede template maken van een database, maar ik weet nog lang niet alles van mysql en databases.
Jij schrijft bijvoorbeeld het volgende:
Thomas van den Heuvel op 06/06/2015 14:12:26
Vergelijk dit met een spreadsheet: als elke tab verschillende informatie bevat zijn je tabs je tabellen. Elke rij in je spreadsheet is een record. Elke kolomheading bevat een structuuromschrijving van die kolom.
Ten eerste de kolomheading. Ik neem aan dat dit een aparte rij is. In excel moet je zelf een rij met omschrijvingen maken. Erg handig zou het zijn als een matrix raster standaard variabele kolomhoofden en rijhoofden zou hebben. Ik weet dit echter niet zeker; want het is niet zo dat je VERPLICHT bent om een kolomhoofd of rijhoofd te maken. Of wel?
Verder ben ik benieuwd wat er bedoeld wordt met structuuromschrijving? Is dit de naam die de kolom- of rijhoofden hebben?
Nu ik nog weinig kennis heb van databaes is het niet makkelijk in te schatten welke structuur een database met hebben. Vooral omdat ik niet altijd een doelgericht plan heb, maar juist wat code wil testen.
je geeft wel steeds aan dat je wat doet met de info etc, maar 1 belangrijk punt doe je niet:
je hebt in dit topic, en ook niet in een topic van een week of zo geleden, aangegeven WAAROM je meerdere tabellen aanmaakt.
Hierboven wordt het aangegeven en in een vorig topic heb ik het ook gezegd: de structuur van een database hoort te staan. Deze verandert niet meer zolang de applicatie niet verandert.
Dat is een dingetje dat volgens ons erg belangrijk is, maar dat door jou hardnekkig genegeerd wordt. Kennelijk zit je helemaal vast in de tunnelvisie dat dat de weg is, zodat je je daar niet meer vanaf laat leiden.
Als dat labeltje "runame" betekenis heeft (je kijkt trouwens niet of je wel een geldige naam binnen krijgt, of dat zo'n tabel al bestaat)
dan zou je ook 1 tabel kunnen maken, eenmalig dus, met 1 extra kkolom
dus naast linkoms en linkadd nog een kolom "runame"
Dan kun je volstaan met die ene tabel.
ipv "SELECT linksom, linkadd FROM myruname" wordt het dan
"SELECT linksom, linkadd FROM tabel WHERE runame = 'myruname'"
En dan heb je dus maar 1 tabel nodig en niet 500
[size=xsmall]Toevoeging op 08/06/2015 16:16:38:[/size]
Ik maak trouwens al flink wat jaar applicaties in PHP, maar afgezien van een enkel install-tooltje of een database-beheerstool, zorg ik altijd dat de user waarmee met de database geconnect wordt, nooit méér rechten heeft dan nodig.
En CREATE (tabel, of database) heeft die user dus noooit.
Het is dus een erg uitzonderlijke route als jij dat wél nodig zou hebben.
je geeft wel steeds aan dat je wat doet met de info etc, maar 1 belangrijk punt doe je niet:
je hebt in dit topic, en ook niet in een topic van een week of zo geleden, aangegeven WAAROM je meerdere tabellen aanmaakt.
Hierboven wordt het aangegeven en in een vorig topic heb ik het ook gezegd: de structuur van een database hoort te staan. Deze verandert niet meer zolang de applicatie niet verandert.
Dat is een dingetje dat volgens ons erg belangrijk is, maar dat door jou hardnekkig genegeerd wordt. Kennelijk zit je helemaal vast in de tunnelvisie dat dat de weg is, zodat je je daar niet meer vanaf laat leiden.
Als dat labeltje "runame" betekenis heeft (je kijkt trouwens niet of je wel een geldige naam binnen krijgt, of dat zo'n tabel al bestaat)
dan zou je ook 1 tabel kunnen maken, eenmalig dus, met 1 extra kkolom
dus naast linkoms en linkadd nog een kolom "runame"
Dan kun je volstaan met die ene tabel.
ipv "SELECT linksom, linkadd FROM myruname" wordt het dan
"SELECT linksom, linkadd FROM tabel WHERE runame = 'myruname'"
En dan heb je dus maar 1 tabel nodig en niet 500
[size=xsmall]Toevoeging op 08/06/2015 16:16:38:[/size]
Ik maak trouwens al flink wat jaar applicaties in PHP, maar afgezien van een enkel install-tooltje of een database-beheerstool, zorg ik altijd dat de user waarmee met de database geconnect wordt, nooit méér rechten heeft dan nodig.
En CREATE (tabel, of database) heeft die user dus noooit.
Het is dus een erg uitzonderlijke route als jij dat wél nodig zou hebben.
Daar had ik nog niet eerder over nagedacht. Mijn idee is dat een user kan inloggen op een database. 20 users hebben dan 20 x een eigen database.
Ik ben nog niet aan authenticatie toegekomen, misschien ga ik me er later in verdiepen, maar zitten er gevaren aan het geven van schrijf rechten aan een user?
1 van de gevaren van php is dat het nog onstabiel zou zijn als je te weinig alert bent op mysql injecties, maar uiteindelijk moet een mysql dbase toch op een normale wijze mbv php te beveiligen zijn?