login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Variabele in nieuwe tabel (Opgelost)

Offline jstreuper - 17/01/2009 13:36
Avatar van jstreuperNieuw lid Ik ben bezig met het opbouwen van een beheersysteem voor mijn server. Hieronder ook een PHPmyAdmin module die ik zelf wil bouwen. Nu vraag ik mij alleen af, hoe krijg je variabelen in een CREATE TABLE ? dus zoiets:

  1. <?
  2.  
  3. CREATE TABLE '".$naamtabel."'
  4. (
  5. '".$naamkolom1."' varchar(255),
  6. etc.
  7. );
  8.  
  9. ?>


heeft iemand hier ervaring mee? en zo ja hoe los je dit op of bestaat er een tutorial, op google kan ik het niet vinden.

8 antwoorden

Gesponsorde links
Offline Rik - 17/01/2009 13:52
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
  1. <?php
  2. /* Makkelijke manier */
  3. echo $query = "CREATE TABLE '" . $naamtabel . "' '" . $naamkolom . "' varchar(255), etc" ;
  4.  
  5. /* Nettere manier */
  6. $query = sprintf("CREATE TABLE '%s' '%s' varchar(255), etc", $naamtabel, $naamkolom);
  7. ?>

Ik gebruik zelf liever de tweede manier, omdat dat wat overzichtelijker is.
Offline jstreuper - 17/01/2009 14:07
Avatar van jstreuper Nieuw lid En hoe werkt het, want ik snap niet helemaal waar de %s op slaat 

Hoe zou ik m bijvoorbeeld kunnen toepassen met de volgende setting:

$naamtabel = rooster
$naamkolom1= maandag

o.i.d.
Offline Rik - 17/01/2009 14:12 (laatste wijziging 17/01/2009 14:15)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Kijk eerst eens op PHP.net: sprintf, daarmee moet je een heel eind komen!
Offline jstreuper - 17/01/2009 14:14
Avatar van jstreuper Nieuw lid Nee dat bedoelde ik eig niet maar ik mis de open tag van mysql. Als je een normale SQL syntax hebt, dan open je code met een (. Deze miste ik in je voorbeeld. 
Offline Rik - 17/01/2009 14:16
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Het gaat toch om de manier waarop je variabelen in de query kunt verwerken? 

De query kun je dan natuurlijk zelf goed af maken!
Offline jstreuper - 17/01/2009 14:18 (laatste wijziging 17/01/2009 14:30)
Avatar van jstreuper Nieuw lid dus het kan gewoon met

  1. CREATE TABLE '".$naamtabel."' ( '".$naamkolom1."' varchar(255), etc.


? Moet namelijk alleen ff snel wat testen, dus die sprintf functie komt nog wel 

EDIT:

zo doet ie t niet:
  1. <?php
  2.  
  3.  
  4. // Includes invoegen
  5. include 'resources/plugins/connection.plugin.php';
  6. include 'functions/client.function.php';
  7.  
  8.  
  9. $naamtabel = 'hoi';
  10. $naamkolom = 'hey';
  11.  
  12.  
  13. mysql_query("CREATE TABLE '".$naamtabel."'(naamkolom1 varchar(255));");
  14. ?>
Offline Rik - 18/01/2009 12:54
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Echo de query eens voordat je hem uitvoert, dan zie je vanzelf wat er mis gaat.

Je ziet ook gelijk aan de color coding op dit forum dat je bent vergeten $naamkolom goed in de query te gebruiken.
Offline jstreuper - 18/01/2009 17:15
Avatar van jstreuper Nieuw lid
  1. $naamtabel = 'hoi';
  2. $naamkolom = 'hey';
  3.  
  4.  
  5. $query = "CREATE TABLE ".$naamtabel."(".naamkolom." varchar(255));";
  6. mysql_query($query);


Zo werkt ie, dankjewel voor je hulp!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.247s